feat(jobs): persist async batch job state in PostgreSQL
- Add jobs table to database schema (job_id, status, progress, result_json, etc.) - Add DatabaseClient methods: create_job, update_job, get_job, list_jobs - Add mark_stale_jobs_failed() called at startup to handle interrupted jobs - Refactor _run_batch_job and job endpoints to read/write from PostgreSQL - Remove in-memory _jobs dict; job state now survives API restarts - Update init_database.py to list all tables in output Closes leeworks-agents/SPARC#8 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -40,6 +40,9 @@ def main():
|
||||
print("\nTables created:")
|
||||
print(" - llm_messages: Stores all LLM prompts and responses")
|
||||
print(" - users: Stores user accounts")
|
||||
print(" - jobs: Stores async batch job state")
|
||||
print(" - patents: Patent PDF cache")
|
||||
print(" - serp_queries: SERP query result cache")
|
||||
print("\nIndexes created:")
|
||||
print(" - idx_messages_timestamp: For time-based queries")
|
||||
print(" - idx_messages_company: For company-specific queries")
|
||||
|
||||
Reference in New Issue
Block a user