From 1dc53ab20c2e3d9e83bc4171e285a22fb9ae5477 Mon Sep 17 00:00:00 2001 From: Rajat Sharma <41574173+Rajat-Sharma-2710@users.noreply.github.com> Date: Wed, 7 Jul 2021 17:27:39 +0530 Subject: [PATCH 1/4] Update Job.ts --- src/Job.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Job.ts b/src/Job.ts index 4d94c999..f627a6c6 100644 --- a/src/Job.ts +++ b/src/Job.ts @@ -17,15 +17,16 @@ export default class Job { private lastError: Error | null = null; public tries: number = 0; - + public url: string; public constructor( - data?: JobData, + data?: any, taskFunction?: TaskFunction, executeCallbacks?: ExecuteCallbacks, ) { this.data = data; this.taskFunction = taskFunction; this.executeCallbacks = executeCallbacks; + this.url = data.url; } public getUrl(): string | undefined { From 75872a1d23fbd10cfb2c1e09ecee7943ba98ffa4 Mon Sep 17 00:00:00 2001 From: Rajat Sharma <41574173+Rajat-Sharma-2710@users.noreply.github.com> Date: Wed, 7 Jul 2021 17:28:37 +0530 Subject: [PATCH 2/4] Update Cluster.ts --- src/Cluster.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Cluster.ts b/src/Cluster.ts index 6d5c183a..fa29c042 100644 --- a/src/Cluster.ts +++ b/src/Cluster.ts @@ -12,6 +12,7 @@ import SystemMonitor from './SystemMonitor'; import { EventEmitter } from 'events'; import ConcurrencyImplementation, { WorkerInstance, ConcurrencyImplementationClassType } from './concurrency/ConcurrencyImplementation'; +import * as _ from 'underscore'; const debug = util.debugGenerator('Cluster'); @@ -404,6 +405,15 @@ export default class Cluster extends EventEmitt this.work(); } + private removeTask(id: any) { + try { + const findIndex = this.jobQueue.list.lastIndexOf(id) + findIndex !== -1 && this.jobQueue.list.splice(findIndex , 1) + } catch (error) { + console.log('error while removing task from queue >>>', JSON.stringify(error)) + } + } + public async queue( data: JobData, taskFunction?: TaskFunction, @@ -418,6 +428,10 @@ export default class Cluster extends EventEmitt this.queueJob(data, taskFunction); } + public removeTaskFromQueue(id: string) { + this.removeTask(id); + } + public execute( data: JobData, taskFunction?: TaskFunction, From e4a8254a5827d51f9e3279b93f97f44265674f38 Mon Sep 17 00:00:00 2001 From: Rajat Sharma <41574173+Rajat-Sharma-2710@users.noreply.github.com> Date: Wed, 7 Jul 2021 17:28:58 +0530 Subject: [PATCH 3/4] Update Queue.ts --- src/Queue.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Queue.ts b/src/Queue.ts index 99f17d68..37de216b 100644 --- a/src/Queue.ts +++ b/src/Queue.ts @@ -6,7 +6,7 @@ interface QueueOptions { export default class Queue { - private list: T[] = []; + public list: T[] = []; private delayedItems: number = 0; public size(): number { From db1b398051b7abc09eba7860996e5923d4f54367 Mon Sep 17 00:00:00 2001 From: Rajat Sharma <41574173+Rajat-Sharma-2710@users.noreply.github.com> Date: Wed, 7 Jul 2021 17:29:26 +0530 Subject: [PATCH 4/4] Update package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 24aff95e..bbc16f85 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "@types/node": "^14.0.27", "@types/puppeteer": "^3.0.1", "@types/puppeteer-core": "^2.0.0", + "@types/underscore": "^1.11.3", "coveralls": "^3.1.0", "express": "^4.17.1", "jest": "^24.9.0",