From d94b91d13c3ac565ab018bc58c8bb8682e962299 Mon Sep 17 00:00:00 2001 From: Christoph Tavan Date: Tue, 1 Nov 2011 20:45:28 +0100 Subject: [PATCH] Emit 'worker closing' event When a worker instance is gracefully closed in Worker.close() a 'worker closing' event is emitted. This event can be listened on on the current worker's master instance where a reference to the actual workers this.server object is present. Increasing server.connections by one gives some time (until timeout) to perform cleanup tasks like gracefully finishing deferred db operations before the worker gets killed. --- lib/worker.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/worker.js b/lib/worker.js index 1628ca6..065f19b 100644 --- a/lib/worker.js +++ b/lib/worker.js @@ -159,6 +159,8 @@ Worker.prototype.close = function(){ var self = this , server = this.server; + this.master.emit('worker closing'); + if (server && server.connections) { // stop accepting server.watcher.stop();