Add sync driver for queue messages (#3070)
* Add sync driver for queue messages * rename moduleRef * use switch instead
This commit is contained in:
@ -4,9 +4,11 @@ import {
|
||||
MessageQueueJob,
|
||||
MessageQueueJobData,
|
||||
} from 'src/integrations/message-queue/interfaces/message-queue-job.interface';
|
||||
import { JobsModule } from 'src/integrations/message-queue/jobs.module';
|
||||
|
||||
import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants';
|
||||
import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service';
|
||||
import { getJobClassName } from 'src/integrations/message-queue/utils/get-job-class-name.util';
|
||||
import { QueueWorkerModule } from 'src/queue-worker.module';
|
||||
|
||||
async function bootstrap() {
|
||||
@ -18,7 +20,7 @@ async function bootstrap() {
|
||||
await messageQueueService.work(async (jobData: MessageQueueJobData) => {
|
||||
const jobClassName = getJobClassName(jobData.name);
|
||||
const job: MessageQueueJob<MessageQueueJobData> = app
|
||||
.select(QueueWorkerModule)
|
||||
.select(JobsModule)
|
||||
.get(jobClassName, { strict: true });
|
||||
|
||||
await job.handle(jobData.data);
|
||||
@ -27,8 +29,3 @@ async function bootstrap() {
|
||||
}
|
||||
bootstrap();
|
||||
|
||||
function getJobClassName(name: string): string {
|
||||
const [, jobName] = name.split('.') ?? [];
|
||||
|
||||
return jobName ?? name;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user