mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-25 10:10:08 +02:00
[filestore] Replace delayShutdownMs by gracefulShutdownDelayInMs (#22077)
* Add a default 30s timeout for `delayShutdownMs` `settings.delayShutdownMs` doesn't seem to be defined anywhere Logs typically often this pair of entries: ``` INFO 2024-11-21T15:51:42.115Z [resource.labels.containerName: filestore] received interrupt, cleaning up INFO 2024-11-21T15:51:42.120Z [resource.labels.containerName: filestore] shutdown timed out, exiting ``` This indicates that there is no delay between the interrupt signal and the shutdown. The 100ms delay also doesn't happen. We believe that the `server.close` callback is called after `server.closeAllConnections()`, and the `server closed` log is usually lost because of the process exiting immediately. See: https://cloudlogging.app.goo.gl/WJQ6mc3gWwotVQya7 * Add timeout before exiting * Replace `delayShutdownMs` by `gracefulShutdownDelayInMs`. Looks like the error came from a wrong merge in https://github.com/overleaf/internal/pull/18756 We don't want a default 30s timeout for the shutdown, per https://github.com/overleaf/internal/pull/16888 GitOrigin-RevId: c1bdc8986f78a6e18e8b8b1fe60b33aa6ffef909
This commit is contained in:
@@ -166,7 +166,10 @@ function handleShutdownSignal(signal) {
|
||||
// stop accepting new connections, the callback is called when existing connections have finished
|
||||
server.close(() => {
|
||||
logger.info({ signal }, 'server closed')
|
||||
process.exit()
|
||||
// exit after a short delay so logs can be flushed
|
||||
setTimeout(() => {
|
||||
process.exit()
|
||||
}, 100)
|
||||
})
|
||||
// close idle http keep-alive connections
|
||||
server.closeIdleConnections()
|
||||
@@ -178,7 +181,7 @@ function handleShutdownSignal(signal) {
|
||||
setTimeout(() => {
|
||||
process.exit()
|
||||
}, 100)
|
||||
}, settings.delayShutdownMs)
|
||||
}, settings.gracefulShutdownDelayInMs)
|
||||
}
|
||||
|
||||
process.on('SIGTERM', handleShutdownSignal)
|
||||
|
||||
Reference in New Issue
Block a user