forked from 0xWheatyz/SPARC
Persist async job state in PostgreSQL so batch results survive API restarts #358
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The
_jobsdict in the API is in-memory only. Any API restart (deploy, crash, scale-down) wipes all in-flight and completed job records, making batch results unrecoverable.Work
jobstable in PostgreSQL with columns:id(UUID PK),status,created_at,updated_at,result(JSONB),error(text)._jobsdict with database queries.GET /jobs/{job_id}endpoint reads from the database.Acceptance Criteria
GET /jobs/{job_id}returns correct status and results after a restart._jobsin-memory dict is removed.Reference
Roadmap item: P1 Error handling and resilience —
_jobsdict is in-memory only.[Triage] Already implemented in main. database.py has a jobs table with create_job/update_job/get_job/list_jobs methods. api.py persists all job state to PostgreSQL via these methods. Closing as resolved.