import { Injectable } from '@nestjs/common'; import { JobsService } from '../src/common/jobs/jobs.service'; import { EventBusService } from '../src/common/event-bus/event-bus.service'; @Injectable() export class TestService { constructor( private readonly jobsService: JobsService, private readonly eventBusService: EventBusService, ) {} async publishKafkaEvent( topic: string, data: Record, ): Promise { await this.eventBusService.publish(topic, { event: 'test-event', data, occurredAt: new Date().toISOString(), }); } async enqueueRedisJob( type: string, payload: Record, ): Promise { await this.jobsService.enqueue('test-queue', type, payload, { attempts: 3, backoffMs: 1000, removeOnComplete: true, removeOnFail: false, }); // 生成一个模拟的 job ID return `job_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; } }