Fix processExit
Summary: setTimeout should terminate process if graceful termination takes too long. Before, we scheduled the timer only *after* the graceful termination completes which does not make any sense Reviewed By: lblasa Differential Revision: D51346673 fbshipit-source-id: b5adadbcf474a8c66839e1fc70bcc6482c47635e
This commit is contained in:
committed by
Facebook GitHub Bot
parent
6ccae92918
commit
ed7a7f7bd0
@@ -19,6 +19,11 @@ const resIsPromise = (res: void | Promise<void>): res is Promise<void> =>
|
|||||||
export const processExit = async (code: number) => {
|
export const processExit = async (code: number) => {
|
||||||
console.debug('processExit', code);
|
console.debug('processExit', code);
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
console.error('Process exit routines timed out');
|
||||||
|
process.exit(code);
|
||||||
|
}, 5000);
|
||||||
|
|
||||||
// eslint-disable-next-line promise/catch-or-return
|
// eslint-disable-next-line promise/catch-or-return
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
onBeforeExitFns.map(async (fn) => {
|
onBeforeExitFns.map(async (fn) => {
|
||||||
@@ -36,9 +41,4 @@ export const processExit = async (code: number) => {
|
|||||||
).finally(() => {
|
).finally(() => {
|
||||||
process.exit(code);
|
process.exit(code);
|
||||||
});
|
});
|
||||||
|
|
||||||
setTimeout(() => {
|
|
||||||
console.error('Process exit routines timed out');
|
|
||||||
process.exit(code);
|
|
||||||
}, 5000);
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user