2012-03-04 12 views
5

Tengo una tarea de rake que ejecuta mailman en el entorno de rails.Daemoninsuring a rake task

Me gustaría asegurarme de que la tarea de rake se ejecute siempre a través de un daemon.

Mi tarea rastrillo es rake incoming_mail

¿Cómo hago para que daemonising?

+0

¿Estás usando linux o osx? ¿Qué tipo de características quieres que tenga este daemon? – Maran

+0

'daemon stop' y' daemon start' –

Respuesta

3

Si está en Linux, podría considerar usar start-stop-daemon.

start-stop-daemon -S --pidfile /var/run/incoming_mail.pid -u rails_user -d /path/to/your/rails/app -b -a "rake incoming_mail"

Para matar más tarde con gracia el proceso se puede utilizar la mayoría de los argumentos pero reemplace -S con -K.

Como siempre puede encontrar más información sobre start-stop-daemon leyendo las páginas man.

+0

eso es lo que necesito. Gracias –

4

En Linux para ejecutar un proceso en segundo plano, puede agregar & al final del comando. Así

rastrillo incoming_mail &

probablemente debería hacer el trabajo para usted.

+0

¿Cómo puedo asegurarme de que la tarea de rake se ejecuta una vez que se ha iniciado la aplicación Rails? –

+1

Esta solución solo se ejecuta en segundo plano, lo que está bien, hasta que quieras asegurarte de que todo esté funcionando. – pjammer