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 <luigipinca@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
This commit is contained in:
cjihrig 2018-09-29 12:22:15 -04:00
parent 1fd99b4ac7
commit a5c27091cc
No known key found for this signature in database
GPG Key ID: 7434390BDBE9B9C5

View File

@ -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.