我正在用Laravel发送排队的邮件。驱动程序是数据库。我没有安装supervisor,因为它是一个共享主机。
我已经更新了邮件的刀片文件,但即使在运行php artisan queue:restart
后,发送的邮件仍然使用旧的视图。
我已经用php artisan optimize:clear
甚至sudo php artisan optimize:clear
清除了所有缓存。
有趣的是我找不到有工人运行。没有控制台正在运行queue:work
。当我运行ps aux | grep -i 'queue'
时,我找不到任何进程。但是我的作业表中的作业仍然运行并发送。当我运行queue:listen
时,发送的邮件是正确的更新邮件。
以前,我使用schedule $schedule->command('queue:work --stop-when-empty')->everyMinute()->withoutOverlapping();
来确保队列是活动的。但现在日程已经停止了。
是否有一个隐藏的队列工作进程正在运行?如何更新该队列?
非常感谢
1条答案
按热度按时间vfh0ocws1#
如果你没有一个队列worker在运行,那么Laravel可能正在使用不同的方法来处理排队的作业。在您的例子中,由于您使用的是队列的数据库驱动程序,Laravel可以使用queue:listen命令来处理排队的作业。queue:listen命令持续轮询数据库中的新作业,并在新作业可用时进行处理。
运行以下命令以开始侦听排队作业:
参考文件:Laravel Queues