from shared.db import current_week, get_form_status, set_form_status def _dispatch_job(payload: dict) -> None: from server.jobs import enqueue_job enqueue_job(payload) def lambda_handler(event, context): # Scheduler fires Thursday 23:59 America/New_York. Do not skip on wall # clock: a delayed SQS delivery must still close the week. already-closed # is the idempotency gate for redelivery. week = event.get("week", current_week()) status = get_form_status(week) if status == "closed": return {"status": "already_closed", "week": week} set_form_status(week, "closed") _dispatch_job({"event": "aggregate", "week": week}) return {"status": "closed", "week": week, "aggregate_triggered": True}