No description
Find a file
Barely Removable 0f336b3d0c
All checks were successful
Deploy / deploy (push) Successful in 22s
Fix crash-loop: CronTrigger resolves its own timezone independent of the scheduler's
The America/Phoenix TZ fix earlier only passed timezone= to
BackgroundScheduler's constructor. That wasn't enough: APScheduler's
CronTrigger independently calls tzlocal's get_localzone() in its own
__init__ when not given an explicit timezone, regardless of what the
scheduler itself is configured with. This never surfaced in testing
because schedules.json was always empty — the rebuild_jobs() loop that
constructs CronTrigger never executed. It crashed for real once a real
schedule existed (confirmed live: the already-configured "Pokemon
Singles >10" 4x/day schedule crash-looped the container on every boot).
Fixed by passing the same resolved timezone to every CronTrigger call.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H6TgffxTvYhqxykAbVQg2v
2026-08-31 20:25:25 -07:00
.claude/skills/deploy-massprice Default to America/Phoenix and email-alert once when the session expires 2026-08-31 20:20:06 -07:00
.forgejo/workflows Initial scaffold: Flask webui + APScheduler + Playwright automation for MassPrice rule scheduling 2026-08-31 17:31:53 -07:00
static Replace Chrome-remote-debugging login capture with a cookie-paste import flow 2026-08-31 20:10:51 -07:00
templates Replace Chrome-remote-debugging login capture with a cookie-paste import flow 2026-08-31 20:10:51 -07:00
.env.example Default to America/Phoenix and email-alert once when the session expires 2026-08-31 20:20:06 -07:00
.gitignore Initial scaffold: Flask webui + APScheduler + Playwright automation for MassPrice rule scheduling 2026-08-31 17:31:53 -07:00
app.py Fix crash-loop: CronTrigger resolves its own timezone independent of the scheduler's 2026-08-31 20:25:25 -07:00
automation.py Default to America/Phoenix and email-alert once when the session expires 2026-08-31 20:20:06 -07:00
CLAUDE.md Default to America/Phoenix and email-alert once when the session expires 2026-08-31 20:20:06 -07:00
docker-compose.yml Default to America/Phoenix and email-alert once when the session expires 2026-08-31 20:20:06 -07:00
Dockerfile Replace Chrome-remote-debugging login capture with a cookie-paste import flow 2026-08-31 20:10:51 -07:00
gunicorn.conf.py Initial scaffold: Flask webui + APScheduler + Playwright automation for MassPrice rule scheduling 2026-08-31 17:31:53 -07:00
notify.py Default to America/Phoenix and email-alert once when the session expires 2026-08-31 20:20:06 -07:00
requirements.txt Initial scaffold: Flask webui + APScheduler + Playwright automation for MassPrice rule scheduling 2026-08-31 17:31:53 -07:00
scheduler.py Fix crash-loop: CronTrigger resolves its own timezone independent of the scheduler's 2026-08-31 20:25:25 -07:00
storage.py Initial scaffold: Flask webui + APScheduler + Playwright automation for MassPrice rule scheduling 2026-08-31 17:31:53 -07:00