Skip to content

feat(background-jobs): resilient job retry & monitoring with exponential backoff#705

Open
bkennedyshit wants to merge 1 commit intorohitdash08:mainfrom
bkennedyshit:feature/background-job-retry
Open

feat(background-jobs): resilient job retry & monitoring with exponential backoff#705
bkennedyshit wants to merge 1 commit intorohitdash08:mainfrom
bkennedyshit:feature/background-job-retry

Conversation

@bkennedyshit
Copy link
Copy Markdown

Closes #130

Summary

Adds a resilient background job system with retry logic, monitoring dashboard, and exponential backoff.

Features

  • ✅ In-memory job queue with max 3 retries + exponential backoff
  • ✅ Job types: export_data, generate_report, sync_transactions
  • ✅ Backend endpoints: POST /api/jobs, GET /api/jobs, GET /api/jobs/:id
  • ✅ Failure logging with timestamp and error message
  • ✅ Frontend JobMonitor component — polls every 10s, shows pending/running/failed/complete
  • ✅ Retry count + next retry time displayed for failed jobs
  • ✅ Collapsible panel added to Dashboard

Files Changed

  • packages/backend/app/routes/jobs.py (new)
  • app/src/pages/JobMonitor.tsx (new component)
  • app/src/App.tsx (route)
  • app/src/components/layout/Navbar.tsx (nav link)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Resilient background job retry & monitoring

1 participant