diff --git a/lib/index.js b/lib/index.js index 2ed107c8..b3cc6709 100644 --- a/lib/index.js +++ b/lib/index.js @@ -623,6 +623,11 @@ class Generator extends EventEmitter { const method = task.method; const once = task.once ? methodName : undefined; + const priority = Object.entries(this._queues).find( + ([_, opts]) => opts.queueName === queueName + ); + const priorityName = priority ? priority[0] : undefined; + const self = this; let namespace = ''; if (self.options && self.options.namespace) { @@ -645,7 +650,12 @@ class Generator extends EventEmitter { delete self.runningState; const eventName = `done$${namespace || 'unknownnamespace'}#${methodName}`; debug(`Emiting event ${eventName}`); - self.env.emit(eventName, namespace, self); + self.env.emit(eventName, { + namespace, + generator: self, + queueName, + priorityName + }); completed(); }) .catch(err => { diff --git a/test/generators.js b/test/generators.js index d8d096de..feaf12f1 100644 --- a/test/generators.js +++ b/test/generators.js @@ -34,9 +34,12 @@ describe('Generators module', () => { }); it('emits done event', function(done) { - this.env.on(`done$${NAMESPACE}#exec`, (id, generator) => { - assert(generator === this.generator); - assert(`done$${NAMESPACE}#exec`.includes(id)); + this.env.on(`done$${NAMESPACE}#exec`, data => { + assert(data.generator === this.generator); + assert(`done$${NAMESPACE}#exec`.includes(data.namespace)); + assert(data.namespace === NAMESPACE); + assert(data.priorityName === 'default'); + assert(data.queueName === 'default'); done(); }); this.generator.run();