From 01673cc7adebc868b4144039fcd596177795efeb Mon Sep 17 00:00:00 2001 From: Ron Nachum Date: Wed, 24 May 2023 14:23:46 +0300 Subject: [PATCH 1/4] chore: remove job type from ctor --- src/jobManagerClient.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/jobManagerClient.ts b/src/jobManagerClient.ts index 4871546..1887922 100644 --- a/src/jobManagerClient.ts +++ b/src/jobManagerClient.ts @@ -17,7 +17,6 @@ import { httpClientConfig } from './models/utils'; export class JobManagerClient extends HttpClient { public constructor( protected readonly logger: Logger, - protected jobType: string, protected jobManagerBaseUrl: string, httpRetryConfig: IHttpRetryConfig | undefined = httpClientConfig, targetService: string | undefined = 'jobManagerClient', @@ -144,8 +143,8 @@ export class JobManagerClient extends HttpClient { } } - public async consume(taskType: string): Promise | null> { - const consumeTaskUrl = `/tasks/${this.jobType}/${taskType}/startPending`; + public async consume(taskType: string, jobType: string): Promise | null> { + const consumeTaskUrl = `/tasks/${jobType}/${taskType}/startPending`; try { const taskResponse = await this.post>(consumeTaskUrl); return taskResponse; @@ -157,7 +156,7 @@ export class JobManagerClient extends HttpClient { err, url: consumeTaskUrl, targetService: this.targetService, - jobType: this.jobType, + jobType, taskType: taskType, msg: `failed to consume task`, errorMessage: (err as { message: string }).message, From c506bd72e76b11169d97bb0ee73512d0292be3a1 Mon Sep 17 00:00:00 2001 From: Ron Nachum Date: Wed, 24 May 2023 15:36:57 +0300 Subject: [PATCH 2/4] chore: move jobType to parameter instead of ctor --- src/taskHandler.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/taskHandler.ts b/src/taskHandler.ts index 8f977db..1e76b0d 100644 --- a/src/taskHandler.ts +++ b/src/taskHandler.ts @@ -15,7 +15,6 @@ export class TaskHandler { public constructor( protected readonly logger: Logger, - protected jobType: string, protected jobManagerBaseUrl: string, protected heartbeatUrl: string, protected dequeueIntervalMs: number, @@ -26,7 +25,7 @@ export class TaskHandler { disableJobManagerDebugLogs: boolean | undefined = true, disableHeartbeatDebugLogs: boolean | undefined = true ) { - this.jobManagerClient = new JobManagerClient(logger, jobType, jobManagerBaseUrl, httpRetryConfig, jobTargetService, disableJobManagerDebugLogs); + this.jobManagerClient = new JobManagerClient(logger, jobManagerBaseUrl, httpRetryConfig, jobTargetService, disableJobManagerDebugLogs); this.heartbeatClient = new HeartbeatClient( logger, heartbeatIntervalMs, @@ -37,23 +36,23 @@ export class TaskHandler { ); } - public async waitForTask(taskType: string): Promise> { + public async waitForTask(taskType: string, jobType: string): Promise> { let task: ITaskResponse | null; this.logger.info({ - jobType: this.jobType, + jobType, taskType, - msg: `waitForTask jobType=${this.jobType}, taskType=${taskType}`, + msg: `waitForTask jobType=${jobType}, taskType=${taskType}`, }); do { - task = await this.dequeue(taskType); + task = await this.dequeue(taskType, jobType); await new Promise((resolve) => setTimeout(resolve, this.dequeueIntervalMs)); } while (!task); return task; } - public async dequeue(taskType: string): Promise | null> { + public async dequeue(taskType: string, jobType: string): Promise | null> { try { - const response = await this.jobManagerClient.consume(taskType); + const response = await this.jobManagerClient.consume(taskType, jobType); if (response) { const taskId = response.id; this.heartbeatClient.start(taskId); @@ -65,9 +64,9 @@ export class TaskHandler { } else { this.logger.error({ err, - jobType: this.jobType, + jobType, taskType, - msg: `dequeue FAILED for jobType=${this.jobType}, taskType=${taskType}`, + msg: `dequeue FAILED for jobType=${jobType}, taskType=${taskType}`, errorMessage: (err as { message: string }).message, }); throw err; From 4300824eefb67f07f17b5eb0a01ae0273d105ae7 Mon Sep 17 00:00:00 2001 From: Ron Nachum Date: Sun, 28 May 2023 14:34:07 +0300 Subject: [PATCH 3/4] chore: put jobType instead of taskType --- src/taskHandler.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/taskHandler.ts b/src/taskHandler.ts index 1e76b0d..15e4285 100644 --- a/src/taskHandler.ts +++ b/src/taskHandler.ts @@ -36,7 +36,7 @@ export class TaskHandler { ); } - public async waitForTask(taskType: string, jobType: string): Promise> { + public async waitForTask(jobType: string, taskType: string): Promise> { let task: ITaskResponse | null; this.logger.info({ jobType, @@ -44,15 +44,15 @@ export class TaskHandler { msg: `waitForTask jobType=${jobType}, taskType=${taskType}`, }); do { - task = await this.dequeue(taskType, jobType); + task = await this.dequeue(jobType, taskType); await new Promise((resolve) => setTimeout(resolve, this.dequeueIntervalMs)); } while (!task); return task; } - public async dequeue(taskType: string, jobType: string): Promise | null> { + public async dequeue(jobType: string, taskType: string): Promise | null> { try { - const response = await this.jobManagerClient.consume(taskType, jobType); + const response = await this.jobManagerClient.consume(jobType, taskType); if (response) { const taskId = response.id; this.heartbeatClient.start(taskId); From cbff497a38cc81cc309a7d692c18895fde12facb Mon Sep 17 00:00:00 2001 From: Ron Nachum Date: Sun, 28 May 2023 14:51:33 +0300 Subject: [PATCH 4/4] chore: change order job type and task type --- src/jobManagerClient.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jobManagerClient.ts b/src/jobManagerClient.ts index 1887922..23c00c4 100644 --- a/src/jobManagerClient.ts +++ b/src/jobManagerClient.ts @@ -143,7 +143,7 @@ export class JobManagerClient extends HttpClient { } } - public async consume(taskType: string, jobType: string): Promise | null> { + public async consume(jobType: string, taskType: string): Promise | null> { const consumeTaskUrl = `/tasks/${jobType}/${taskType}/startPending`; try { const taskResponse = await this.post>(consumeTaskUrl);