ruby-on-rails-3 - rescue remedy
Intentando iniciar redis y resque el programador dentro de una tarea de rake (2)
Eso me parece no una gran idea. Debería tener su servidor redis iniciado a través de un script de inicio o algo así. Pero, si realmente quieres ir de esta manera, probablemente necesites modificar tu tarea redis: start para usar nohup y fondo el proceso para que puedas desconectarte del TTY y mantener el proceso en ejecución.
Quiero iniciar redis y redis-scheduler desde una tarea de rake así que estoy haciendo lo siguiente:
namespace :raketask do
task :start do
system("QUEUE=* rake resque:work &")
system("rake redis:start")
system("rake resque:scheduler")
end
end
El problema es que el redis comienza en primer plano y luego nunca se inicia el programador. Si no se iniciará en segundo plano (usando &). El programador debe iniciarse DESPUÉS de que redis esté funcionando.
similar a nirvdrum. Los trabajadores de resque van a fallar / salir si redis no se está ejecutando y aceptando conexiones.
echa un vistazo a esta esencia para ver un ejemplo de cómo comenzar con monit (cosas de Linux).
Monit permite que un servicio dependa de otro y se asegura de que se mantengan con vida mediante la supervisión de un archivo .pid.