想请教下 php max_execution_time 配置项会影响laravel queue 的执行超时时间吗
目前在laravel6.2下
目前遇到一个情况 队列timeout 配置了 3600秒 但是实际执行了50秒左右就报执行超时了 刚好和max_execution_time对的上
max_execution_time 配置项表示 PHP 脚本的最大执行时间,单位为秒。当一个脚本执行超过此时间时,PHP 会强制终止脚本的执行。
会
队列本质上就是在 CLI 下运行,你在 CLI 下运行以下代码,在 N 秒后就会告诉你超时。
--timeout=3600
这里需要确认下你有没有在 Laravel 程序中主动设置
max_execution_time
,如果artisan
脚本运行前有指定过的话,则队列程序运行时间会受max_execution_time
设置的值的影响。默认情况下,
CLI
和SAPI
运行模式的max_execution_time
值都是0,即无时间限制。php.ini
文件中关于max_execution_time
的设置有说明:注意看
Note: This directive is hardcoded to 0 for the CLI SAPI
这行说明,正是上文中提到的。在不受
php.ini
配置影响的情况下,Laravel 队列的超时时间通过timeout
参数进行控制。666