Laravel - job виснет, timeout не помогает

Рейтинг: 0Ответов: 0Опубликовано: 31.07.2023

Когда job пытается заменить уже существующий файл командой Storage::put, задача зависает навсегда, не помогает ни timeout, ни retry_after. После чего очередь встает и задачи перестают обрабатываться. Ожидаемое поведение в этом случае чтобы job просто заменил существующий файл или хотя бы выдал исключение по таймауту. В чем проблема и как избежать зависания? Процессом управляет supervisor:

[program:s-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/st/data/www/s/artisan queue:work --max-jobs=3 --sleep=3
autostart=true
autorestart=true
user=st
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/st/data/www/s/worker.log'
stopwaitsecs=1800

Тайм-аут установлен на 60 сек., и задание зависает надолго, мне помогают только команды "supervisor stop all" и "restart".

Ответы

Ответов пока нет.