Cron se ha utilizado durante décadas y es bastante confiable y sólido; si su cron no es confiable, le sugiero que tenga una discusión firme con su proveedor de sistema operativo. Además, la documentación de MongoDB habla sobre trabajos cron (google "site: mongodb.org cron" para ver ejemplos) así que, presumiblemente, se esperan trabajos cron con MongoDB.
Dicho esto, si ya tiene una gran cantidad de infraestructura configurada para otro sistema de programación, entonces probablemente no haya ninguna razón para usar cron para MongoDB y algo más para otras tareas.
En cualquier caso, es probable que desee a la capa en un sencillo sistema de bloqueo de archivos PID si sus trabajos cron podrían tener el tiempo suficiente para solapar y sólo desea uno funcionando a la vez:
- El cron trabajo busca un archivo PID cuando comienza.
- Si encuentra el archivo, lee el PID del trabajo anterior y comprueba si aún se está ejecutando.
- Si el anterior se está ejecutando, el nuevo se quejaría y saldría.
- Si el anterior no se está ejecutando, el nuevo continuará.
- Cuando el nuevo trabajo decide que está bien comenzar, escribe su PID en el archivo PID.
- Cuando finaliza el nuevo trabajo, elimina el archivo PID inmediatamente antes de salir (o utilizando un controlador
atexit
o cualquier característica similar compatible con su entorno).