feat: Shard#kill method (#2454)

* add shard#kill method

* docs consistency
This commit is contained in:
Will Nelson
2018-05-27 01:26:18 -07:00
committed by Isabella
parent 14aab1be38
commit fc81924724

View File

@@ -112,6 +112,15 @@ class Shard extends EventEmitter {
return this.process;
}
/**
* Kills this shard.
*/
kill() {
this.process.removeListener('exit', this._exitListener);
this.process.kill();
this._handleExit(false);
}
/**
* Kills and restarts the shard's process.
* @param {number} [delay=500] How long to wait between killing the process and restarting it (in milliseconds)
@@ -119,9 +128,7 @@ class Shard extends EventEmitter {
* @returns {Promise<ChildProcess>}
*/
async respawn(delay = 500, waitForReady = true) {
this.process.removeListener('exit', this._exitListener);
this.process.kill();
this._handleExit(false);
this.kill();
if (delay > 0) await Util.delayFor(delay);
return this.spawn(waitForReady);
}