首页 > 解决方案 > 如何在实时服务器上执行 Laravel(电子邮件)作业

问题描述

美好的一天。我刚刚完成了一个 laravel 应用程序的构建。在应用程序中,我第一次使用了 Jobs、Mails 和 Queue。在我的服务器上,我可以运行 php artisan queue:work来执行这项工作(比如向订阅者发送大量邮件)。这工作正常。现在的问题是我想立即启动网站,而我似乎对如何在实时服务器上进行这项工作感到迷茫,因为我不会总是在那里输入php artisan queue:work命令(即使有可能)。请问,我该怎么办?

我的 .env 设置如下所示

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=database
SESSION_DRIVER=file
SESSION_LIFETIME=120

谢谢。

标签: phplaravelemailqueuejobs

解决方案


首先你需要配置 cron 来执行 artisan 命令。编辑您的 cron 并添加这一行(编辑路径):

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

为了确保一切都正确配置,我建议您花点时间阅读有关任务调度的文档

编辑 #1 如果您只想执行队列:工作,请将此行添加到您的 cron(编辑路径):

* * * * * cd /path-to-your-project && php artisan queue:work >> /dev/null 2>&1

我希望它有助于项目实施的最终确定。


推荐阅读