From a5c27091cc4db6b2d9cc49de3ef9ed06dddcd5f2 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Sat, 29 Sep 2018 12:22:15 -0400 Subject: doc: specify cluster worker.kill() caveat worker.kill() relies on a graceful disconnect, which might not always be possible. This commit calls this out in the docs, and specifies worker.process.kill() as a non-graceful alternative. PR-URL: https://github.com/nodejs/node/pull/23165 Fixes: https://github.com/nodejs/node/issues/22703 Reviewed-By: Luigi Pinca Reviewed-By: Sakthipriyan Vairamani --- doc/api/cluster.md | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'doc/api/cluster.md') diff --git a/doc/api/cluster.md b/doc/api/cluster.md index 54b470e0f0..868d52be88 100644 --- a/doc/api/cluster.md +++ b/doc/api/cluster.md @@ -394,6 +394,11 @@ This function will kill the worker. In the master, it does this by disconnecting the `worker.process`, and once disconnected, killing with `signal`. In the worker, it does it by disconnecting the channel, and then exiting with code `0`. +Because `kill()` attempts to gracefully disconnect the worker process, it is +susceptible to waiting indefinitely for the disconnect to complete. For example, +if the worker enters an infinite loop, a graceful disconnect will never occur. +If the graceful disconnect behavior is not needed, use `worker.process.kill()`. + Causes `.exitedAfterDisconnect` to be set. This method is aliased as `worker.destroy()` for backwards compatibility. -- cgit v1.2.3