Estoy ejecutando un servicio que contiene una gran cantidad de cronjobs (más de 1000).
La lista de cronjobs se puede actualizar varias veces al día. Primero actualizo un archivo .txt con una lista de comandos cronjob como este:
echo -e "`crontab -l`\n1 21 * * 1-5 /usr/bin/php /var/www/html/file_to_be_called.php 123" | crontab - Y cuando se actualiza el archivo .txt , ejecuto un script PHP que toma el archivo .txt y lo ejecuta como comandos como este:
$list_of_cronjobs = file_get_contents("../list_of_cronjobs.txt"); exec($list_of_cronjobs); Todo esto funciona bien, pero el problema es el tiempo de ejecución de esta configuración. El exec($list_of_cronjobs); -line tarda unos 20 segundos con ~1000 líneas en el archivo .txt. Esto está bien por ahora, pero espero agregar más de 5000 líneas de cronjobs en los próximos meses y luego el tiempo de ejecución es un problema.
Tengo curiosidad por saber cómo mejorar y acelerar este proceso. Mi script se ejecuta en un servidor AWS EC2 (t2.medium). ¿Alguna sugerencia para impulsar el proceso exec()?