Job зависает при попытке заменить уже существующий файл командой Storage::put(). Почему это происходит и почему задание не выдает исключение по таумауту? Из за этого вся очередь встает и не двигается.
Тайм-аут установлен на 60 сек., и задание зависает надолго, мне помогают только команды "supervisor stop all" и "restart".
Sometimes, IO blocking processes such as sockets or outgoing HTTP connections may not respect your specified timeout. Therefore, when using these features, you should always attempt to specify a timeout using their APIs as well. For example, when using Guzzle, you should always specify a connection and request timeout value.
Дмитрий, если существует файл storage/app/data/filename.txt. и в job попытаться заменить его командой Storage::put('storage/app/data/filename.txt', $data), то процесс и вся очередь виснет.
sstars, ну то есть локально сохраняете? А не какой нибудь S3?
а сколько демонов у вас могут начать пытаться переписать этот файл одновременно? и каковы размеры файлов?
sstars, ну если локально то там помоему - file_put_contents, а он I/O blocking насколько я помню. По настройкам видно - но может у вас в параллели еще чего вертится.