Процесс демона Php часто падает

Мы используем beanstalkd для запуска получения заданий от клиента с помощью php и использования pheanstalk в качестве агента php. мы запускаем работника как системного демона php и продолжаем мониторинг, используя monit.

Но он продолжает перезапускаться с частотой один раз в день. После наблюдения проблемы это подтверждает, что нет ошибок на стороне кода. Так каковы шансы?

1

Решение

PHP не рассчитан на длительный процесс, и поэтому перезапуск сценария иногда, вероятно, полезен, особенно если у вас чистый выход.

Например, вы можете запустить 50/100/1000 заданий в цикле, а затем выйти из сценария для его автоматического перезапуска. Упаковка вызов скрипта в довольно простом скрипте Можно проверить возвращаемое значение, а затем либо немедленно перезапустить, либо немного замедлить работу, если могут возникнуть проблемы.

Причины, по которым скрипт может внезапно потерпеть неудачу, многочисленны и разнообразны. Утечка памяти может заставить ОС завершить процесс, ошибка может вызвать необработанное исключение или другую фатальную ошибку, или что-то внешнее по отношению к сценарию может вызвать сбой.

Сложная часть фоновых рабочих для очередей связана с (потенциальными) проблемами, которые могут помешать скрипту работать постоянно. Подробные журналы могут очень помочь в попытке отследить такие проблемы.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]