В работе регулярно встречаются задачи, которые необходимо выполнять с определенной периодичностью. Например, обновление раз в час цен в интернет-магазине. Для этого в cron кладется задание на выполнение скрипта по расписанию. Может так случиться (а случается это довольно часто), что скрипт не успевает выполниться за отведенное время. Через час запускается еще одна такая же задача. Два скрипта работают параллельно. Спустя еще час запускается третий скрипт. Нагрузка на сервер возрастает, потребление ресурсов растет как снежный ком. Избежать такой ситуации помогает проставление неких маркёров или флагов, которые показывают, что процесс еще запущен, и второй экземпляр запускать не надо. Существует 2 хороших и 2 так себе варианта решения этой проблемы. Плохие варианты это хранить флаг в оперативке (кэше) или базе данных. Если кэш сбросят или перезагрузят кэширующий сервер, ваш флаг пропадет и привет дублирующий процесс. Если же ваш флаг находится в базе и случился какой-то сбой, например п