coordinate jobs: daily pipeline orchestrator runs the flow in order
Deploy / lint (push) Successful in 7s
Deploy / test (push) Successful in 39s
Deploy / deploy (push) Successful in 25s

Jobs were independent 24h timers with no ordering, so the scanner could run on
stale OHLCV, and manual runs desynced the offsets. New daily_pipeline job runs
the data→signal flow in dependency order: OHLCV → fundamentals → sentiment →
R:R scan → outcome eval (+paper close) → market regime. Each step keeps its own
enable flag and runtime status; a failing step is logged and the pipeline
continues.

The member jobs are registered PAUSED (no auto-fire) so they only run via the
pipeline — but stay manually triggerable from Admin → Jobs (shown as "runs in
daily pipeline"). Alerts (hourly), ticker universe sync, and backtest keep their
own independent cadence.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-17 10:16:41 +02:00
parent fb3b8d18d7
commit e982487abd
5 changed files with 114 additions and 94 deletions
+2
View File
@@ -84,6 +84,7 @@ class TestConfigureScheduler:
"alerts",
"market_regime",
"backtest",
"daily_pipeline",
}
def test_configure_is_idempotent(self):
@@ -95,6 +96,7 @@ class TestConfigureScheduler:
assert sorted(job_ids) == sorted([
"alerts",
"backtest",
"daily_pipeline",
"data_collector",
"fundamental_collector",
"market_regime",