У меня есть cronjob в php, который вычисляет несколько бизнес-правил (например: чистая оборот, валовая оборот, расчетная оборот и т. д.)с использованием стандартного отклонения и другого математического алгоритма)
это задание cron вызывает несколько вызовов cron 3 сценария php, используя exec
для каждого вызова. Я запускаю процесс в фоновом режиме и сообщаю системе, что задания x запущены. например:
вот моя логика
start
main cron start - message
cron sub 1 start - message
run cron sub 1
cron sub 1 end - message
wait until cron sub 1 stop
process stuff
cron sub 2 start - message
run background cron sub 2 // this will automaticaly send a message when this jobs end
cron sub 3 start - message
run background cron sub 3 // this will automaticaly send a message when this jobs end
main cron end - message
end
то, что мне нужно исправить, это
, если кто-то запускает задание вручную и отменяет его (ctrl + c) или что-то плохое происходит в cron (фатальная ошибка или не могу подключиться к базе данных) или что-то еще (например, недостаточно памяти)
я хочу остановить задание cron и сказать, что произошло и когда оно остановилось, чтобы я мог начать с того места, где он был.
возможно ли это? спасибо