Poll for run completion every 5 minutes instead of checking once
All checks were successful
Deploy / deploy (push) Successful in 28s
All checks were successful
Deploy / deploy (push) Successful in 28s
The one-shot VERIFY_DELAY_MINUTES check was too rigid: MassPrice's processing time varies widely in practice (observed ~1 to over 20 minutes, and its queue can back up further under load — confirmed live, a run still sitting in "Queued" 15+ minutes in), so a single check window either misses slow-but-fine completions or has to be set needlessly long. Replaced with a poll loop: scheduler.py reschedules another one-off check every VERIFY_POLL_MINUTES (default 5) until automation's check_completion() reports "complete", up to VERIFY_MAX_ATTEMPTS (default 12, ~1 hour) before giving up and marking "not_confirmed" for good. verify_run() is split into a pure check_completion() (no storage side effects) so scheduler.py's loop owns the retry/give-up decision; automation.py just answers "is it done yet". Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H6TgffxTvYhqxykAbVQg2v
This commit is contained in:
parent
8b58dadc5a
commit
213837ff97
6 changed files with 151 additions and 90 deletions
17
.env.example
17
.env.example
|
|
@ -18,13 +18,16 @@ HOST_PORT=5057
|
|||
# Controls what "6:00 AM" means for your schedules
|
||||
TZ=America/Phoenix
|
||||
|
||||
# ── Run verification delay ──────────────────────────────────────────
|
||||
# Minutes to wait after a run is confirmed sent before checking
|
||||
# MassPrice's own Activity Log to see whether it actually completed.
|
||||
# MassPrice's processing time varies a lot in practice (observed
|
||||
# anywhere from ~1 to ~22 minutes) — this is a reasonable middle
|
||||
# ground, not a guarantee.
|
||||
VERIFY_DELAY_MINUTES=10
|
||||
# ── Run verification polling ─────────────────────────────────────────
|
||||
# After a run is confirmed sent, checks MassPrice's own Activity Log
|
||||
# every VERIFY_POLL_MINUTES to see whether it actually completed,
|
||||
# retrying up to VERIFY_MAX_ATTEMPTS times before giving up and marking
|
||||
# it "Not Confirmed". MassPrice's processing time varies a lot in
|
||||
# practice (observed anywhere from ~1 minute to over 20) and its queue
|
||||
# can back up further under load — the default (5 min x 12 = up to an
|
||||
# hour of patience) is a reasonable middle ground, not a guarantee.
|
||||
VERIFY_POLL_MINUTES=5
|
||||
VERIFY_MAX_ATTEMPTS=12
|
||||
|
||||
# ── Session-expiry email alert (optional) ───────────────────────────
|
||||
# Sent once when the saved MassPrice session expires/is missing — not
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue