gpt4 book ai didi

php - 使用 Beanstalkd 失败的 Laravel 队列

转载 作者:搜寻专家 更新时间:2023-10-31 21:27:51 27 4
gpt4 key购买 nike

我尝试在每次用户注册时使用队列并向他们发送电子邮件进行验证。

我正在使用 Laravel 5.1 成功地做到这一点我只是在徘徊,如果我遇到错误,我怎么能停止当前队列,然后当我修复它时,我从最后一个队列重新启 Action 业?

像这样的错误怎么样:

[InvalidArgumentException]
View [emails.versify_email] not found.



[InvalidArgumentException]
View [emails.versify_email] not found.



[InvalidArgumentException]
View [emails.versify_email] not found.

我在宅基地尝试过使用:

 public function failed(){
//I've tried send email but it not sending
}

或在 AppServiceProvider

Queue::failing(function ($connection, $job, $data) {
$user ='mymail@gmail.com';
Mail::send('emails.fail_queue', ['user' => $user], function ($m) use ($user) {
$m->subject('Failing:' . $user)
->to($user);
});
});

他们都没有工作。生产中出现这种情况怎么办?

最佳答案

当处理程序抛出异常时,Laravel 会尝试将作业释放回队列,除非它被显式删除。

https://github.com/laravel/framework/blob/5.1/src/Illuminate/Queue/Worker.php#L198-L227

您可以使用 $delay 参数延迟放回队列。或者,如果您能够检测到问题,最好自己埋掉这项工作。

$this->job->bury()

关于php - 使用 Beanstalkd 失败的 Laravel 队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33665938/

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