gpt4 book ai didi

Laravel 队列作业在后台不起作用

转载 作者:行者123 更新时间:2023-12-04 01:50:53 27 4
gpt4 key购买 nike

嗨!我有一个应用程序,我必须在某些操作(例如用户创建等)中发送一些电子邮件。问题是它们没有在后台运行,而是我必须等到该过程完成,然后它会将我重定向到另一个页面。
我用 database司机与 queues , Laravel 5.2 .
我的电子邮件代码,用于 exp,在用户创建后:

$this->dispatch(new WelcomeEmail($user));
Artisan::call('queue:work');

哪里 WelcomeEmail是被插入队列的作业。这种类型的代码放置在我想要发送电子邮件的所有地方。怎么了?

最佳答案

首先,您不想使用 Artisan::call在调度程序中的“队列”命令上。

您应该打开终端并执行:php artisan queue:listen --timeout=0 --tries=1你应该让它成为。
然后你可以访问你的页面,其中 $this->dispatch 甚至更好的 dispatch 方法将被调用。该页面上的代码应该是:dispatch(new WelcomeEmail($user));
在您的生产服务器上,您应该使用 supervisord 来监控您的 php artisan queue:listen命令,以确保它始终启动并运行。

如需进一步阅读,请访问:https://laravel.com/docs/5.2/queues

关于Laravel 队列作业在后台不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40217460/

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