Estoy usando Sinatra para mi aplicación web. Tengo un código de limpieza que deseo ejecutar cuando se cierre mi aplicación. ¿Hay un gancho para esto en Sinatra o tengo que usar un mecanismo por separado?¿dónde pongo el código en Sinatra que quiero ejecutar cuando la aplicación se apaga?
7
A
Respuesta
8
Mire Kernel#at_exit, no veo por qué no debería funcionar en una aplicación Sinatra si define un bloque como ese en algún lugar del archivo de la aplicación principal.
Actualización: Según el comentario de matt, debe definir su controlador at_exit
antes de requerir Sinatra.
Cuestiones relacionadas
- 1. ¿Dónde coloco el código en Sinatra (framework web ruby) que solo quiero ejecutar una vez?
- 2. ¿Dónde pongo el código de limpieza en una aplicación Flask?
- 3. Agraciado cierre de la aplicación cuando Windows se apaga
- 4. ¿Dónde pongo el código de inicio en Play Framework?
- 5. Dónde pongo métodos comunes en la aplicación MVC
- 6. ¿Solo se llama a applicationWillResignActive cuando el iPhone se apaga?
- 7. Ejecutar el código una vez que se ejecuta el servidor Sinatra
- 8. ¿Cómo ejecutar código correctamente cuando se inicia una aplicación C#?
- 9. ¿Ejecutar el código en la consola cerrada?
- 10. ¿Dónde pongo mi código backend de falla resque-retry?
- 11. ¿Dónde insertar el código para el inicio de la aplicación?
- 12. ¿Dónde pongo la etiqueta de script jQuery?
- 13. dónde almacenar la contraseña de administrador en la aplicación sinatra + heroku?
- 14. Sinatra: ejecute el código de ruby cuando se golpea una URL
- 15. ¿Dónde pongo META-INF en Eclipse?
- 16. Ejecutar código cuando se cancela la notificación de Android
- 17. ¿Cómo debería estructurar una aplicación Java? ¿Dónde pongo mis clases?
- 18. ¿Se puede continuar ejecutando una aplicación WinRT mientras se apaga la pantalla?
- 19. ¿El compilador solo compilará el código que se puede ejecutar?
- 20. ¿Cómo se apaga setDragImage
- 21. ¿Cómo ejecutar código cuando se muestra el formulario?
- 22. Problemas para comprender el ciclo de vida cuando la pantalla se apaga y en
- 23. ¿Dónde está el código que se llama cuando llama a getApplicationContext()?
- 24. Ejecutar código antes de que se ejecute la función llamada
- 25. Depurar el código de C# sin ejecutar la aplicación
- 26. ¿Dónde pongo el archivo de constantes para Codeigniter (PHP)?
- 27. ¿Qué sucede con las tareas cron cuando el sistema se apaga?
- 28. Con Rails, ¿dónde debería poner html snippets? No quiero parciales pero quiero que se vuelvan a cargar durante el desarrollo
- 29. Compact Framework - System.Threading.Timer se detiene cuando el usuario apaga la pantalla
- 30. Funky comportamiento de la actividad de Android cuando la pantalla se apaga?
Tenía la impresión de que solo se llama una vez que todos los hilos han salido. Voy a probarlo yo mismo. Una de las cosas específicas que debo hacer es cerrar algunos hilos, así que si ese es el caso, eso no funcionará para mí. – pquimo
Esto podría no funcionar, dependiendo de cómo inicie Sinatra, ya que [Sinatra usa 'at_exit' en sí mismo] (https://github.com/sinatra/sinatra/blob/v1.3.2/lib/sinatra/main.rb#L25) para iniciar su servidor integrado, por lo que cualquier manejador 'at_exit' que agregue se ejecutará _antes de que se inicie Sinatra. – matt
Interesante. Me pregunto si debería eliminar mi respuesta o mantenerla por el momento. Tal vez esperaré hasta que @pquimo reporte de nuevo. –