diff --git a/packages/backend/server/src/base/job/queue/__tests__/queue.spec.ts b/packages/backend/server/src/base/job/queue/__tests__/queue.spec.ts index 0f0cbceeb..27e15d3b1 100644 --- a/packages/backend/server/src/base/job/queue/__tests__/queue.spec.ts +++ b/packages/backend/server/src/base/job/queue/__tests__/queue.spec.ts @@ -168,7 +168,7 @@ test('should be able to record job metrics', async t => { timerStub.reset(); await t.throwsAsync( - executor.run('nightly.__test__throw', { name: 'test executor' }), + executor.run('nightly.__test__throw', { name: 'test executor' }, 'test-id'), { message: 'Throw in job handler', } diff --git a/packages/backend/server/src/base/job/queue/executor.ts b/packages/backend/server/src/base/job/queue/executor.ts index 183c7fe2d..733542c0e 100644 --- a/packages/backend/server/src/base/job/queue/executor.ts +++ b/packages/backend/server/src/base/job/queue/executor.ts @@ -58,7 +58,8 @@ export class JobExecutor implements OnModuleDestroy { async run( name: T, - payload: Jobs[T] + payload: Jobs[T], + jobId?: string ): Promise { const ns = namespace(name); const handler = this.scanner.getHandler(name); @@ -70,7 +71,7 @@ export class JobExecutor implements OnModuleDestroy { const fn = wrapCallMetric( async () => { - const signature = `[${name}] (${handler.name})`; + const signature = `[${name}] (${handler.name}, id=${jobId})`; try { this.logger.debug(`Job started: ${signature}`); const ret = await handler.fn(payload); @@ -129,7 +130,7 @@ export class JobExecutor implements OnModuleDestroy { return await cls.run(async () => { cls.set(CLS_ID, requestId); - return await this.run(job.name as JobName, payload); + return await this.run(job.name as JobName, payload, job.id); }); }, merge({}, this.config.job.queue, this.config.job.worker, queueOptions, {