Detener, esperar y restablecer correctamente un proceso de node.js heroku

Todavía no lo he implementado, pero no estoy seguro de cómo hacerlo.

Tengo una aplicación que usa muchos procesos en segundo plano. Es decir, incluso después de que se envía una respuesta, todavía hay funciones asociadas con esa respuesta que se ejecuta en segundo plano. Por lo tanto, quiero hacer algo como esto:

var server = http.createServer(app).listen(80)

process.on('SIGINT', function () {
  server.close()
  setTimeout(function () {
    process.exit()
  }, 30000) // Wait 30 seconds before exiting
})

No estoy seguro de si esto es correcto o no. Más suposiciones:

Estos procesos de fondo son cruciales. Sin embargo, probablemente tomen 1-2 segundos, no 30 segundos. Aún así, quiero poner un retraso de 30 segundos solo por seguridad.Esto debería funcionar tanto para reiniciar el proceso (digamos, con para siempre) como para detener el proceso.¿Qué señales envía Heroku (o cualquier otro proceso) a node.js a través deprocess? ¿Tendría que manejarlos de manera diferente?Yo manejaríauncaughtException ¿Algo diferente?

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta