[INFRA-005] Runner jobs CRUD and queue submission #167

Closed
opened 2026-02-01 07:24:27 +00:00 by jason.woltje · 0 comments
Owner

Summary

Implement runner-jobs module for job lifecycle management and queue submission.

API Endpoints

  • POST /runner-jobs - Create and queue a new job
  • GET /runner-jobs - List jobs (with filters)
  • GET /runner-jobs/:id - Get job details
  • POST /runner-jobs/:id/cancel - Cancel a running job
  • POST /runner-jobs/:id/retry - Retry a failed job

Tasks

  • Create apps/api/src/runner-jobs/runner-jobs.module.ts
  • Create apps/api/src/runner-jobs/runner-jobs.service.ts
  • Create apps/api/src/runner-jobs/runner-jobs.controller.ts
  • Implement job creation with BullMQ queue submission
  • Implement job status polling
  • Implement cancel and retry operations
  • Add DTOs for request/response validation

Files to Create

  • apps/api/src/runner-jobs/runner-jobs.module.ts
  • apps/api/src/runner-jobs/runner-jobs.service.ts
  • apps/api/src/runner-jobs/runner-jobs.controller.ts
  • apps/api/src/runner-jobs/dto/

Acceptance Criteria

  • Jobs can be created via API
  • Jobs appear in BullMQ queue
  • Job status is queryable
  • Cancel removes job from queue or marks as cancelled
## Summary Implement runner-jobs module for job lifecycle management and queue submission. ## API Endpoints - POST /runner-jobs - Create and queue a new job - GET /runner-jobs - List jobs (with filters) - GET /runner-jobs/:id - Get job details - POST /runner-jobs/:id/cancel - Cancel a running job - POST /runner-jobs/:id/retry - Retry a failed job ## Tasks - [ ] Create apps/api/src/runner-jobs/runner-jobs.module.ts - [ ] Create apps/api/src/runner-jobs/runner-jobs.service.ts - [ ] Create apps/api/src/runner-jobs/runner-jobs.controller.ts - [ ] Implement job creation with BullMQ queue submission - [ ] Implement job status polling - [ ] Implement cancel and retry operations - [ ] Add DTOs for request/response validation ## Files to Create - apps/api/src/runner-jobs/runner-jobs.module.ts - apps/api/src/runner-jobs/runner-jobs.service.ts - apps/api/src/runner-jobs/runner-jobs.controller.ts - apps/api/src/runner-jobs/dto/ ## Acceptance Criteria - Jobs can be created via API - Jobs appear in BullMQ queue - Job status is queryable - Cancel removes job from queue or marks as cancelled ## Related - Epic: #162 - Depends on: #164 (schema), #165 (BullMQ module)
jason.woltje added this to the M4.2-Infrastructure (0.0.4) milestone 2026-02-01 07:24:27 +00:00
jason.woltje added the phase-2apip0api labels 2026-02-01 07:24:27 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaic/stack#167