gpt4 book ai didi

laravel - 为什么MaxAttemptsExceededException

转载 作者:行者123 更新时间:2023-12-03 00:56:53 32 4
gpt4 key购买 nike

我认为我不了解Laravel的队列系统。

我实现了Redis(基本配置),并且正在做非常基本的测试,但是此错误MaxAttemptsExceededException引起了我很多混乱。

该“测试”的想法是简单地通过浏览器运行控制器,并在控制器运行时在for循环内“分派”作业。在这个测试中,我的目标是每25秒发送1封电子邮件,我想每次运行控制器时,这些电子邮件都是“堆叠的”。

最初一切正常,但是突然,php artisan queue:work报告错误。

重点是:


超时的原因是什么?是Redis的延迟吗?
此参数正确使用queue:work --tries=3吗?
有什么我应该更改的设置吗?


enter image description here

.ENV

CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
SESSION_CONNECTION=default


配置/数据库

    'redis' => [

'client' => 'predis',

'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DB', 0),
],

'cache' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', 1),
],

],


配置/会话.PHP

'connection' => env('SESSION_CONNECTION', null),


我的控制器

        for ($i = 1; $i <= 5; $i++)
{
$when = now()->addSeconds(25 * $i);

$mykey = 'KEY--' . $i . '--' . $when->toDateTimeString();

dispatch(new TestRedisJob($mykey));
}


我的工作类别(TestRedisJob)

    public function handle(Redis $redis)
{
Redis::throttle('email')->allow(1)->every(25)->then(function ()
{
\Mail::to('customer@domain.com')
->send(new OrderShipped('contato@fiscalizo.com.br', $this->mykey));

}, function() {
return $this->release(25);
});


我的班级(已发货)

    public function build()
{
return $this
->from($this->emailFrom)
->subject("Registro Efetivado: " . $this->emailSubject)
->view('emails.welcome');

最佳答案

删除Redis $redis注入

public function handle()
{
Redis::throttle('email')->allow(1)->every(25)->then(function ()
{
\Mail::to('customer@domain.com')
->send(new OrderShipped('contato@fiscalizo.com.br', $this->mykey));
}, function() {
return $this->release(25);
});

关于laravel - 为什么MaxAttemptsExceededException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58769679/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com