Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions backend/app/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,3 +168,4 @@ class MockMode(str, Enum):

STOCK_MOCK_MODE = MockMode.NONE
POLYMARKET_MOCK_MODE = MockMode.NONE
BITMEX_MOCK_MODE = MockMode.NONE
21 changes: 6 additions & 15 deletions backend/app/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@

from .config import (
ALLOWED_ORIGINS,
BITMEX_MOCK_MODE,
MODELS_DATA_FILE,
MODELS_DATA_HIST_FILE,
MODELS_DATA_INIT_FILE,
Expand Down Expand Up @@ -76,10 +77,14 @@
MockMode.MOCK_AGENTS_AND_FETCHERS: MockAgentFetcherPolymarketSystem,
}

BITMEX_SYSTEMS = {
MockMode.NONE: BitMEXPortfolioSystem,
}

# Initialize systems immediately when module loads
stock_system = STOCK_SYSTEMS[STOCK_MOCK_MODE].get_instance()
polymarket_system = POLYMARKET_SYSTEMS[POLYMARKET_MOCK_MODE].get_instance()
bitmex_system = BitMEXPortfolioSystem()
bitmex_system = BITMEX_SYSTEMS[BITMEX_MOCK_MODE].get_instance()

# Add agents for real systems
if STOCK_MOCK_MODE == MockMode.NONE:
Expand Down Expand Up @@ -260,20 +265,6 @@ def schedule_background_tasks(scheduler: BackgroundScheduler):
)
logger.info(f"📅 Scheduled trading job for UTC {schedule_hour}:00 ({schedule_desc})")

# Schedule BitMEX cycle at same time as stock (3 PM ET, Mon-Fri)
# This prevents file conflicts and ensures all systems update together
scheduler.add_job(
safe_generate_bitmex_cycle,
"cron",
day_of_week="mon-fri",
hour=schedule_hour, # Same as stock (19 or 20 UTC for 3 PM ET)
minute=0,
timezone="UTC",
id="bitmex_daily_cycle",
replace_existing=True,
)
logger.info(f"📅 Scheduled BitMEX cycle for UTC {schedule_hour}:00 ({schedule_desc}), Mon-Fri")

price_interval = UPDATE_FREQUENCY["realtime_prices"]
logger.info(
f"📈 Scheduled stock price update job for every {price_interval} seconds ({price_interval//60} minutes)"
Expand Down
Loading