php - 如何在实时服务器上执行 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
谢谢。
解决方案
首先你需要配置 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
我希望它有助于项目实施的最终确定。
推荐阅读
- git - zsh 别名中的引用环境变量
- flutter - 颤动的webview没有运行网站PlatformException
- netezza - 是否可以通过在 Netezza 中使用 select 语句来解析 json?
- reactjs - 物料表:验证失败时如何防止“添加行”消失
- azure-cognitive-search - Azure 认知搜索:调试会话引发“会话状态”错误
- typescript - nodejs 上 jest 和 ts 的良好实践
- python - Python中最小化问题的代码优化
- javascript - 有没有更好的方法来等待图像上传到我的数据库然后使用异步和等待?
- python - 为什么在某些计算机上我没有收到关闭连接的 TLS 警报?
- html - CSS:对象覆盖不使图像居中