1
0
Fourche 0
MQL5-Google-Onedrive/scripts/schedule_research.py
google-labs-jules[bot] b3311b9694 feat: Setup automated market research and upgrades with Gemini and Jules
- Added `yfinance` to fetch real market data.
- Enhanced `scripts/market_research.py` to use `yfinance` and support Jules AI.
- Enhanced `scripts/upgrade_repo.py` to support Jules AI for code suggestions.
- Updated `scripts/schedule_research.py` to load environment variables.
- Created `scripts/setup_research.sh` to automate setup.
- Updated `requirements.txt` and `README.md`.
2026-01-23 19:50:48 +00:00

59 lignes
1,4 Kio
Python
Fichier exécutable

#!/usr/bin/env python3
"""
Schedule Research Script
Runs market research and upgrade suggestions on a schedule.
"""
import schedule
import time
import subprocess
import logging
import sys
from pathlib import Path
from dotenv import load_dotenv
# Setup logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
REPO_ROOT = Path(__file__).resolve().parents[1]
def job():
logger.info("Running scheduled research task...")
# Run market research
research_script = REPO_ROOT / "scripts" / "market_research.py"
try:
subprocess.run([sys.executable, str(research_script)], check=True)
except subprocess.CalledProcessError as e:
logger.error(f"Market research failed: {e}")
return
# Run upgrade repo
upgrade_script = REPO_ROOT / "scripts" / "upgrade_repo.py"
try:
subprocess.run([sys.executable, str(upgrade_script)], check=True)
except subprocess.CalledProcessError as e:
logger.error(f"Upgrade repo failed: {e}")
return
logger.info("Scheduled task completed successfully.")
def main():
# Load env vars
load_dotenv()
logger.info("Starting Schedule Research Service...")
# Run immediately on start
job()
# Schedule every 4 hours
schedule.every(4).hours.do(job)
while True:
schedule.run_pending()
time.sleep(60)
if __name__ == "__main__":
main()