У меня есть cronjob в php, который вычисляет несколько бизнес-правил (например: net rev, валовой оборот, оценочный оборот и т.д.... с использованием стандартного отклонения и другого математического алгоритма)
этот cronjob вызывает несколько вызовов 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 (фатальная ошибка или не может подключиться к db) или что-нибудь еще (например, недостаточно памяти)
Я хочу остановить cronjob и сказать, что произойдет, и когда он остановится, поэтому я могу начать назад, где это было.
Возможно ли это? спасибо