mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-14 15:24:52 +09:00
Fix shutdown logic for slave
Shutdown running instances and close the connection to the master server on slave stop. Remove call to process.exit on shutdown as it's no longer needed.
This commit is contained in:
1 parent
7aa340675b
commit
9f74d7b2ec
2 files changed
+13
-8
No files matched your search
@@ -640,10 +640,10 @@ class Slave extends link.Link {
|
||||
}
|
||||
|
||||
async stop() {
|
||||
for (let instanceConnection of this.instanceConnections.values()) {
|
||||
// XXX this neeeds more thought to it
|
||||
// await instance.stop();
|
||||
for (let instanceId of this.instanceConnections.keys()) {
|
||||
await this.stopInstance(instanceId);
|
||||
}
|
||||
this.connector.close("shutdown");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -841,10 +841,15 @@ async function startClient() {
|
||||
|
||||
secondSigint = true;
|
||||
console.log("Caught interrupt signal, shutting down");
|
||||
slave.stop().then(() => {
|
||||
// There's currently no shutdown mechanism for instance plugins so
|
||||
// they keep the event loop alive.
|
||||
process.exit();
|
||||
slave.stop().catch(err => {
|
||||
console.error(`
|
||||
+---------------------------------------------------------------+
|
||||
| Unexpected error occured while stopping slave, please report |
|
||||
| it to https://github.com/clusterio/factorioClusterio/issues |
|
||||
+---------------------------------------------------------------+`
|
||||
);
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ before(async function() {
|
||||
});
|
||||
|
||||
after(async function() {
|
||||
this.timeout(200000);
|
||||
this.timeout(20000);
|
||||
if (slaveProcess) {
|
||||
console.log("Shutting down slave");
|
||||
slaveProcess.kill("SIGINT");
|
||||
|
||||
Reference in new issue
Block a user