Backend Crons
Scheduled AWS Lambda jobs for Abstract Play: DynamoDB exports, static game records on S3, site-wide analytics, and live tournament/challenge automation.
This repo complements node-backend — the API writes live game state to DynamoDB; crons read that data (via weekly exports or live queries) and publish derived artifacts to S3 and CloudFront.
Documentation
- Architecture — Serverless layout, schedules, layers, IAM
- Getting started — local setup, layers, invocation
- Deployment — CI/CD, stages, upstream triggers
- Records pipeline — Sunday batch and daily summarize flow
- Functions reference — per-Lambda inputs, outputs, schedules
- S3 outputs — bucket keys and JSON shapes
- Summarize —
_summary.jsonmetrics and rating logic - Live crons — tournaments and standing challenges
Key resources
| Resource | Purpose |
|---|---|
abstractplay-db-dump (S3) |
DynamoDB point-in-time ION exports |
records.abstractplay.com (S3 + CloudFront) |
Published game records and analytics |
abstract-play-{stage} (DynamoDB) |
Live table (see Database schema) |
EventBridge schedules run in prod only (scheduleEnabled.prod: true in serverless.yml). Dev stacks deploy the Lambdas but crons do not fire on a schedule.
Related docs
- Backend — API, DynamoDB schema, subsystems
- Gameslib —
GameFactory,gameinfo, rules engine used by record generation - Recranks —
APGameRecordformat and rating engines
Last verified against develop branch.