【发布时间】:2023-03-09 17:26:01
【问题描述】:
我有一个 Web 应用程序,它运行一个使用 aminyazdanpanah/php-ffmpeg-video-streaming 包将视频转换为 HLS 的作业。但是,大约 2 分钟后,作业失败并抛出错误:
Symfony\Component\Process\Exception\ProcessTimedOutException: The process '/usr/bin/ffmpeg -y -i...'
exceeded the timeout of 300 seconds. in /var/www/vendor/symfony/process/Process.php:1206
Laravel 作业的超时设置为 7200 秒。 我的主管设置还指定了 7200 秒的超时时间:
[program:app_worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/artisan queue:work --tries=1 --timeout=7200 --memory=2000
autostart=true
autorestart=true
我还在 ini 文件中将我的 php max_execution_time 设置为 7200s。
在工作handle()函数中我也调用set_time_limit(7200);来设置时间限制。
我已重新启动队列工作程序并清除了我的缓存,但这似乎并没有解决问题。
看来 Symfony 只是忽略了 Laravel 的超时规范。
【问题讨论】:
标签: php laravel laravel-8 symfony-process