Остановить работу крон задачи, которая выполняет бесконечный цикл?
У нас есть задача на парсинг, которая выполняется каждую минуту.
Крон запускает алгоритм работы, который выполняется в бесконечном цикле.
Он работает, все отлично.
Но у нас есть опасения, что демон со временем может подъедать память. И нам нужно прекращать выполнение процесса.
То есть у нас запущен парсинг он не закончил работу, потому задачи на парсинг еще есть, а уже крон запускает следующий процесс.
Для этого у нас есть проверка на текущее время. Если текущая секунда находится между 58 и 59 секундой, мы прекращаем работу.
Но может случиться так, что мы просто будем пролетать эти секунды и процесс все равно будет продолжать работать.
И нам надо придумать какое еще решение можно сделать, что бы останавливать работу скрипта.
Переделать как-то алгоритм работы нельзя.
У меня на подобной задаче когда-то стоял ручной блокиратор в виде условия, по которому цикл тормозит если в определённой папке появляется файл с именем stop и затирает сам файл. Надо остановить - кинул\создал файл, остановилось. Решение не наилучшее, но простое в реализации.