根据 Laravel 文档,我应该能够指定特定于作业的超时:
如果在作业中指定了超时,它将优先于在命令行中指定的任何超时 [...]
因此,当我在artisan queue:listen没有--timeout选项的情况下运行并在作业中定义超时时(就像 Laravel 告诉我的那样):
public $timeout = 600;
我希望该特定作业的超时时间为 600 秒。不幸的是,我仍然得到一个ProcessTimedOutException. 自定义超时仅在我使用--timeout=600.
我正在使用 Laravel 6 和 PHP 7.4。正如 Laravel 推荐的那样,我还启用了pcntlPHP 扩展。对于队列,我使用database具有以下配置的驱动程序:
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'retry_after' => 90,
]
RISEBY