Public Access
feat: wire step_reminder into runner, admin, and scheduler (Fri 16:00 PT)
This commit is contained in:
@@ -167,7 +167,7 @@ def get_stats(db: Session = Depends(get_db)):
|
||||
}
|
||||
|
||||
|
||||
_VALID_STEPS = {"scrape", "generate", "email", "deadline", "finalize"}
|
||||
_VALID_STEPS = {"scrape", "generate", "email", "reminder", "deadline", "finalize"}
|
||||
|
||||
|
||||
@router.get("/orchestrate/status")
|
||||
|
||||
@@ -7,6 +7,7 @@ Weekly cadence (America/Los_Angeles):
|
||||
Fri 02:00 — scrape (Lucky weekend prices live by ~midnight)
|
||||
Fri 05:00 — generate (fresh grocery data)
|
||||
Fri 06:00 — email (per-voter approval links)
|
||||
Fri 16:00 — reminder (nudge non-voters, 1h before deadline)
|
||||
Fri 17:00 — deadline (pending items resolved per family policy)
|
||||
Fri 18:00 — finalize (shopping-list email)
|
||||
"""
|
||||
@@ -45,6 +46,12 @@ scheduler.add_job(
|
||||
id="weekly_email",
|
||||
name="Weekly email (Fri 06:00 PT)",
|
||||
)
|
||||
scheduler.add_job(
|
||||
lambda: run_step("reminder"),
|
||||
CronTrigger(day_of_week="fri", hour=16, minute=0, timezone=TZ),
|
||||
id="weekly_reminder",
|
||||
name="Weekly reminder (Fri 16:00 PT)",
|
||||
)
|
||||
scheduler.add_job(
|
||||
lambda: run_step("deadline"),
|
||||
CronTrigger(day_of_week="fri", hour=17, minute=0, timezone=TZ),
|
||||
|
||||
@@ -14,7 +14,7 @@ from app.database import SessionLocal
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
STEPS = ("scrape", "generate", "email", "deadline", "finalize")
|
||||
STEPS = ("scrape", "generate", "email", "reminder", "deadline", "finalize")
|
||||
|
||||
|
||||
def _current_week_start() -> date:
|
||||
@@ -55,6 +55,7 @@ def run_step(step_name: str, week_start_date: Optional[date] = None) -> None:
|
||||
"scrape": s.step_scrape,
|
||||
"generate": s.step_generate,
|
||||
"email": s.step_email,
|
||||
"reminder": s.step_reminder,
|
||||
"deadline": s.step_deadline,
|
||||
"finalize": s.step_finalize,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user