collect-system/apps/server/src/queue/postprocess/postprocess.service.ts

25 lines
843 B
TypeScript
Raw Normal View History

2025-01-27 22:43:31 +08:00
import { InjectQueue } from '@nestjs/bullmq';
import { Injectable } from '@nestjs/common';
import EventBus from '@server/utils/event-bus';
import { Queue } from 'bullmq';
import { ObjectType } from '@nice/common';
import { QueueJobType } from '../types';
2025-01-08 00:52:11 +08:00
@Injectable()
export class PostProcessService {
2025-01-27 22:43:31 +08:00
constructor(@InjectQueue('general') private generalQueue: Queue) {}
2025-01-08 00:52:11 +08:00
2025-01-27 22:43:31 +08:00
private generateJobId(type: ObjectType, data: any): string {
// 根据类型和相关ID生成唯一的job标识
switch (type) {
case ObjectType.ENROLLMENT:
return `stats_${type}_${data.courseId}`;
case ObjectType.LECTURE:
return `stats_${type}_${data.courseId}_${data.sectionId}`;
case ObjectType.POST:
return `stats_${type}_${data.courseId}`;
default:
return `stats_${type}_${Date.now()}`;
2025-01-08 00:52:11 +08:00
}
2025-01-27 22:43:31 +08:00
}
}