mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
restart: gracefully handle restart failure
In case Grist isn't running with the supervisor (e.g. it's running under nodemon instead via `yarn start`), surface the problem to the frontend.
This commit is contained in:
parent
9ae8918156
commit
960f023618
@ -1886,10 +1886,15 @@ export class FlexServer implements GristServer {
|
|||||||
process.send({ action: 'restart' });
|
process.send({ action: 'restart' });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if(!process.env.GRIST_RUNNING_UNDER_SUPERVISOR) {
|
||||||
// On the topic of http response codes, thus spake MDN:
|
// On the topic of http response codes, thus spake MDN:
|
||||||
// "409: This response is sent when a request conflicts with the current state of the server."
|
// "409: This response is sent when a request conflicts with the current state of the server."
|
||||||
const status = process.send ? 200 : 409;
|
return resp.status(409).send({
|
||||||
return resp.status(status).send();
|
error: "Cannot automatically restart the Grist server to enact changes. Please restart server manually."
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return resp.status(200).send({ msg: 'ok' });
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// Restrict this endpoint to install admins
|
// Restrict this endpoint to install admins
|
||||||
|
@ -5,7 +5,8 @@ let grist;
|
|||||||
function startGrist(newConfig={}) {
|
function startGrist(newConfig={}) {
|
||||||
// H/T https://stackoverflow.com/a/36995148/11352427
|
// H/T https://stackoverflow.com/a/36995148/11352427
|
||||||
grist = spawn('./sandbox/run.sh', {
|
grist = spawn('./sandbox/run.sh', {
|
||||||
stdio: ['inherit', 'inherit', 'inherit', 'ipc']
|
stdio: ['inherit', 'inherit', 'inherit', 'ipc'],
|
||||||
|
env: {...process.env, GRIST_RUNNING_UNDER_SUPERVISOR: true}
|
||||||
});
|
});
|
||||||
grist.on('message', function(data) {
|
grist.on('message', function(data) {
|
||||||
if (data.action === 'restart') {
|
if (data.action === 'restart') {
|
||||||
|
Loading…
Reference in New Issue
Block a user