From a5098dfe519eb9de7297fbedb893354428d92035 Mon Sep 17 00:00:00 2001 From: snowgitea Date: Wed, 1 Jul 2026 17:57:27 +0800 Subject: [PATCH] chore: src/modules/task/queue/task.ts --- src/modules/task/queue/task.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/modules/task/queue/task.ts diff --git a/src/modules/task/queue/task.ts b/src/modules/task/queue/task.ts new file mode 100644 index 0000000..7c2a171 --- /dev/null +++ b/src/modules/task/queue/task.ts @@ -0,0 +1,30 @@ +import { App, Inject } from '@midwayjs/core'; +import { BaseCoolQueue, CoolQueue } from '@cool-midway/task'; +import { TaskBullService } from '../service/bull'; +import { IMidwayApplication } from '@midwayjs/core'; + +/** + * 任务 + */ +@CoolQueue() +export abstract class TaskInfoQueue extends BaseCoolQueue { + @App() + app: IMidwayApplication; + + @Inject() + taskBullService: TaskBullService; + + async data(job, done: any): Promise { + try { + const result = await this.taskBullService.invokeService(job.data.service); + this.taskBullService.record(job.data, 1, JSON.stringify(result)); + } catch (error) { + this.taskBullService.record(job.data, 0, error.message); + } + if (!job.data.isOnce) { + this.taskBullService.updateNextRunTime(job.data.jobId); + this.taskBullService.updateStatus(job.data.id); + } + done(); + } +}