Pregunta

Quiero tareas de instalación de rastrillo para funcionar a través de cron. Eso es fácil, pero lo que no es fácil es asegurar que sólo una copia de esa tarea rastrillo está funcionando a la vez. Me imagino que podría utilizar PS en el sistema para comprobar y salga de la tarea rake si ya se está ejecutando, o que podía hacer una estructura de trabajo discontinuo en el cual me serializar el nombre de la tarea y al finalizar la quito formar la base de datos, pero ¿qué es lo que todos recomiendan?

¿Fue útil?

Solución

Unix resuelto este problema con los archivos pid. pid archivos se encuentran en / var / run y contienen los programas del ID del proceso. Esta es la página del manual: http://fuse4bsd.creo.hu/ localcgi / hombre-cgi.cgi? pidfile + 3

Puede que le resulte un poco pasado de moda (y estoy de acuerdo), pero es un método frecuentemente utilizado y probado.

Otros consejos

Puede utilizar https://rubygems.org/gems/only_one_rake , como Espacio de nombres: carriles hacen     desc "número de usuarios en línea"     only_one_task: online_user_count =>: entorno de tareas pendientes       bucle {OnlineUser.count; sueño 1}     final   final

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top