Php Laravel horizon排队作业因MaxAttemptSexceedException失败
我分派作业在我的水平队列上做一些工作。在60秒运行时,似乎相同的作业总是失败,在我看来,这似乎是一个超时问题: 我通过cron调度调度了大约10个作业,而这4个作业总是失败 这是我的Php Laravel horizon排队作业因MaxAttemptSexceedException失败,php,laravel,laravel-horizon,Php,Laravel,Laravel Horizon,我分派作业在我的水平队列上做一些工作。在60秒运行时,似乎相同的作业总是失败,在我看来,这似乎是一个超时问题: 我通过cron调度调度了大约10个作业,而这4个作业总是失败 这是我的config/horizon.php(只是有趣的部分): 这似乎需要超过60秒的时间,但它确实完成了 所以我的问题是-如何正确设置laravel horizon的超时 我使用的是laravel 8.x和最新版本的horizon软件包。听起来好像是PHP超时,而不是horizon配置。PHP cli不是将max\u
config/horizon.php
(只是有趣的部分):
这似乎需要超过60秒的时间,但它确实完成了
所以我的问题是-如何正确设置laravel horizon的超时
我使用的是laravel 8.x和最新版本的horizon软件包。听起来好像是PHP超时,而不是horizon配置。PHP cli不是将
max\u execution\u time
设置为-1
?作业应在cli中执行,并且不继承执行时间限制。我会仔细检查以确定。请看一下在之后添加一个值为300的retry\u。如果您的作业类指定了超时,则这些作业类的优先级高于Horizon的默认值,而不管类的超时值是大于还是小于Horizon的默认值。@Latheesan您找到解决方案了吗?
<?php
use Illuminate\Support\Str;
return [
'waits' => [
'redis:default' => 60,
],
'memory_limit' => 512,
'defaults' => [
'my-app-queue' => [
'connection' => 'redis',
'queue' => ['default'],
'balance' => 'auto',
'minProcesses' => 1,
'maxProcesses' => 1,
'balanceMaxShift' => 1,
'balanceCooldown' => 3,
'memory' => 512,
'tries' => 3,
'nice' => 0,
'timeout' => 300,
],
],
'environments' => [
'production' => [
'my-app-queue' => [
'maxProcesses' => 10,
],
],
'local' => [
'my-app-queue' => [
'maxProcesses' => 10,
],
],
],
];
$test = new DownloadBlockedIPFeed(8);
$test->handle();
exit('Done');