Laravel 在共享主机(CPanel) 后台排队queue:work 运行

Laravel Queue queue:work running in background in Shared hosting(CPanel)

在我的项目中,我制作了一个简单的时事通讯系统,我想在其中向所有订阅者发送电子邮件。但是我在生产中遇到的问题 (Cpanel hosting) 我必须在终端中执行 运行 laravel queue:work 命令。谁能告诉我如何在 CPanel 托管后台处理 queue:work... 谁能告诉我如何处理这个问题? 为了发送邮件,我使用的是 cpanel 邮件 smtp,不使用任何其他第三方,如 mailchimp 或 mailgun 等...

**在您的 cpanel 中找到 crob 作业选项卡,然后设置 cron 作业 ** 喜欢

  • 每天
  • 5 分钟后或任何你想要的

做一份工作来处理像

这样的用户新闻信件
php artisan make:job UserNewsLetters 

然后发邮件

php artisan make:mail NewsLetterEmail 

查看 mail/newsletter 将 mailabel 访问到你的作业中,将 cron 作业路径设置为你的项目文件夹,如下所示 /usr/local/bin/php /home/hosting_user/public_html/artisan queue:work 或者你可以使用 laravel 控制台命令 https://laravel.com/docs/8.x/scheduling

please check this image and set cron job not run commandline

将此命令添加到具有完整 php 路径的 cron 任务中

 php /path/to/laravel/artisan queue:work --stop-when-empty

在命令行中检查 php 路径 运行

which php

cron 任务有这些选项运行 你的工作 1-每分钟一次(意味着工作仅 运行 一分钟一次,所以每分钟一次意味着它将在一小时内 运行 60 次) 2-每天表示24小时一次 3 周工作 运行 一周一次

您还可以使用控制台命令来安排您的任务,并且 laravel 有清晰的文档 Task Scheduling