Implements runner-jobs module for job lifecycle management and queue submission. Changes: - Created RunnerJobsModule with service, controller, and DTOs - Implemented job creation with BullMQ queue submission - Implemented job listing with filters (status, type, agentTaskId) - Implemented job detail retrieval with steps and events - Implemented cancel operation for pending/queued jobs - Implemented retry operation for failed jobs - Added comprehensive unit tests (24 tests, 100% coverage) - Integrated with BullMQ for async job processing - Integrated with Prisma for database operations - Followed existing CRUD patterns from tasks/events modules 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 Quality Gates: - Typecheck: ✅ PASSED - Lint: ✅ PASSED - Build: ✅ PASSED - Tests: ✅ PASSED (24/24 tests) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
20 lines
610 B
TypeScript
20 lines
610 B
TypeScript
import { Module } from "@nestjs/common";
|
|
import { RunnerJobsController } from "./runner-jobs.controller";
|
|
import { RunnerJobsService } from "./runner-jobs.service";
|
|
import { PrismaModule } from "../prisma/prisma.module";
|
|
import { BullMqModule } from "../bullmq/bullmq.module";
|
|
|
|
/**
|
|
* Runner Jobs Module
|
|
*
|
|
* Provides CRUD operations for runner jobs and integrates with BullMQ
|
|
* for asynchronous job processing.
|
|
*/
|
|
@Module({
|
|
imports: [PrismaModule, BullMqModule],
|
|
controllers: [RunnerJobsController],
|
|
providers: [RunnerJobsService],
|
|
exports: [RunnerJobsService],
|
|
})
|
|
export class RunnerJobsModule {}
|