aboutsummaryrefslogtreecommitdiff
path: root/src/lib/worker.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/worker.js')
-rw-r--r--src/lib/worker.js19
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
*/