trails/openspec/changes/pg-boss-background-jobs/specs/infrastructure/spec.md
Ullrich Schäfer 32c5fbde8f Add pg-boss background job queue with session expiry
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>
2026-04-13 21:17:24 +02:00

729 B

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