Я сейчас работаю над проектом, который насчитывает более 20 крон. Некоторые из них - довольно длительные процессы. Он был построен на Symfony 2.8, поэтому мы решили обновить его до 3.4 LTS.
После обновления мы заметили, что если есть текущее задание cron (длительный процесс), и мы sh вносим некоторые изменения в среду Prod мы получаем эту ошибку:
Fatal Compile Error: require(): Failed opening required '/.../cache/prod/
Оказывается, когда мы развертываем изменения, кешированный контейнер (в var / cache / prod / ContainerXXXXXX) изменил значение XXXXXX. Или, другими словами, мы очищаем кеш (во время развертывания), а затем он создает новый контейнер в каталоге кеша. Подробнее об этой проблеме: https://github.com/symfony/symfony/issues/25654.
Итак, мне пришла в голову идея добавить скрипт с while l oop (?), Который проверяет, есть ли запущенные crons, если не запустить развертывание.
Но вопрос в том, есть ли способ проверить это в текущей ситуации?