+ Nginx + php-fpm 7.4.
- Логер Laravel сделан через запись в файл в app/Providers/AppServiceProvider.php
Проблема:
- Такое впечатление, что Laravel не отправляет уведомление завершения запроса для php-fpm.
- В логах Laravel написано, что запрос процесса 20807 выполнился за 0.023 секунды. А php-fpm пишет, что "child 20807 exited on signal 15 (SIGTERM) after 26 seconds from start"
- Происходит какое-то событие и начинает валить куча таймаутов по процессам php-fpm, при этом Laravel говорит, что отработал за 0.023 сек.
Логи:
- laravel.log (процес 20807)
[13-Jul-2021 09:32:19] "api/v1/busreport/status", time: 0.023, process: 20807
- /var/log/php7.4-fpm.log
[13-Jul-2021 15:32:46] WARNING: [pool www] child 20807 exited on signal 15 (SIGTERM) after 26 seconds from start
Вопросы:
1. В каком файле Laravel выполняется завершение запроса (для php-fpm)?
2. Может быть такая ситуация, что обработка запроса не дошла до финальной стадии (передачи HTTP_OK) и это не залогировалось.
3. В какую сторону копать (где-то добавить логирование)?
Вот именно это и было, на тот момент из 4-х поставщиков парсинг xml был только у одного, на нем проблема и была, остальные или Soap или json. Помогло обновление до 7.3, до сих пор работает, сейчас переношу на Laravel и 8.0
А как Вы отловили, что это именно из за XML? По каким логам?
Методами проб и ошибок. Причем это возникло одномоменто после каког-то обновления. Следил за измениями в релизах php и обновлял, следил, segterm валились, потом дошел до 7.3 и все стабилизировалось.
Обсуждают сегодня