Buenas noches amigos,
Tengo hosting en un servidor compartido linux con CPanel.
Cada 15 minutos debo ejecutar 8 jobs que realizan ciertas funciones con unas bases de datos y los he puesto a funcionar con cron jobs. Hasta allí todo parece bien.
El problema es que los 8 jobs se ejecutan al mismo momento, causando problemas con la base de datos. Cada job no tarda más de un minuto en ejecutar pero si todos despegan al mismo tiempo me causan problemas.
En principio pensé: "claro, si los programé en el cron todos al mismo tiempo, deben ejecutar todos al mismo tiempo", entonces decidí borrarlos y crearlos de nuevo, pero no todos al mismo tiempo, sino, dejando 1 minuto y medio diferencia entre uno y otro. A ver su me explico:
1.- Borré todos los cron job
2.- Cree el cron job #1 a las 3:00 pm (por lo que espero que se ejecute a las 3:15, 3:30, 3:45 y así sucesivamente)
3. Cree el cron job #2 a las 3:01:30 seg pm
4.- Repetí el proceso para todos los jobs con 1 min y 30 seg de diferencia.
Esto debería dar como resultado que el job #1 se ejecuta y cada 1 min con 30 segundos se ejecuta el siguiente. Al finalizar los 8 jobs habrán pasado unos 12 minutos, justo antes de que arranque el job #1 nuevamente.
En teoría, esto está muy bien, pero en la práctica, todos los jobs siguen ejecutando al mismo momento. Es algo como si la opción Cron Jobs de CPANEL decidiera que deben ejecutar a cierta hora, independientemente de la hora en que lo has programado.
Para probar, cada job me envía un email al comenzar con la hora:minuto:segundo y todos coinciden, segundos más segundos menos.
¿Cómo puedo hacer para que no coincidan?