chore: src/modules/task/queue/task.ts
This commit is contained in:
@@ -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<void> {
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user