diff options
Diffstat (limited to 'src/lib/worker.js')
-rw-r--r-- | src/lib/worker.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/lib/worker.js b/src/lib/worker.js index e53d03f..0be6a19 100644 --- a/src/lib/worker.js +++ b/src/lib/worker.js @@ -73,6 +73,25 @@ class Worker extends EventEmitter { } /** + * Deletes a queue. + * + * @param {string} target + */ + removeTarget(target) { + if (!(target in this.targets)) + throw new Error(`target '${target}' not found`) + + const {queue} = this.targets[target] + if (queue.length > 0) + throw new Error(`queue is not empty`) + + this.logger.debug(`deleteTarget: deleting target' ${target}'`) + queue.removeAllListeners() + queue.end() + delete this.targets[target] + } + + /** * @param {string} target * @param {number} concurrency */ |