Add @trails-cool/jobs package wrapping pg-boss for durable background job execution using the existing PostgreSQL database. Wire up planner session expiry as the first scheduled job (hourly, 7-day TTL) — this was previously dead code that never ran. Add placeholder worker to journal for future Komoot import and federation jobs. Infrastructure: grant grafana_reader access to pgboss schema, add job queue health panels to Service Health dashboard, add failed job alert. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
16 lines
729 B
Markdown
16 lines
729 B
Markdown
## MODIFIED Requirements
|
|
|
|
### Requirement: Grafana database access
|
|
The `grafana_reader` PostgreSQL role SHALL have SELECT access to the `pgboss` schema for job queue observability.
|
|
|
|
#### Scenario: Grant access on deploy
|
|
- **WHEN** the infrastructure deploy runs
|
|
- **THEN** `grafana_reader` is granted `USAGE` on the `pgboss` schema and `SELECT` on all tables in it
|
|
|
|
### Requirement: Monitoring stack
|
|
The Grafana Service Health dashboard SHALL include a job queue health panel.
|
|
|
|
#### Scenario: Job queue panel displays metrics
|
|
- **WHEN** a user views the Service Health dashboard
|
|
- **THEN** they see a panel showing job queue depth, completed jobs per hour, and failed jobs
|
|
- **AND** failed jobs are highlighted for investigation
|