diff --git a/services/real-time/app.coffee b/services/real-time/app.coffee index 677737f862..215b3c7cb9 100644 --- a/services/real-time/app.coffee +++ b/services/real-time/app.coffee @@ -125,9 +125,14 @@ drainAndShutdown = (signal) -> return else Settings.shutDownInProgress = true - logger.warn signal: signal, "received interrupt, starting drain over #{shutdownDrainTimeWindow} mins" - DrainManager.startDrainTimeWindow(io, shutdownDrainTimeWindow) - shutdownCleanly(signal) + statusCheckInterval = Settings.statusCheckInterval + if statusCheckInterval + logger.warn signal: signal, "received interrupt, delay drain by #{statusCheckInterval}ms" + setTimeout () -> + logger.warn signal: signal, "received interrupt, starting drain over #{shutdownDrainTimeWindow} mins" + DrainManager.startDrainTimeWindow(io, shutdownDrainTimeWindow) + shutdownCleanly(signal) + , statusCheckInterval Settings.shutDownInProgress = false diff --git a/services/real-time/config/settings.defaults.coffee b/services/real-time/config/settings.defaults.coffee index 75b39ab2ee..5814530552 100644 --- a/services/real-time/config/settings.defaults.coffee +++ b/services/real-time/config/settings.defaults.coffee @@ -60,6 +60,8 @@ settings = publishOnIndividualChannels: process.env['PUBLISH_ON_INDIVIDUAL_CHANNELS'] or false + statusCheckInterval: parseInt(process.env['STATUS_CHECK_INTERVAL'] or '0') + sentry: dsn: process.env.SENTRY_DSN