自动运行 Laravel 队列 [重复]

Posted

技术标签:

【中文标题】自动运行 Laravel 队列 [重复]【英文标题】:Running Laravel queues automatically [duplicate] 【发布时间】:2016-04-03 10:57:55 【问题描述】:

我已经实现了 Laravel 队列。问题是我每次都必须运行命令php artisan queue:listen。有什么方法可以在不运行任何命令的情况下自动执行作业。

【问题讨论】:

你使用的是什么操作系统? 然后你可以按照 Laravel 文档中的详细说明来安装和使用Supervisor 来管理队列监听器。 【参考方案1】:

这是一个可放入您的 crontab 的单行程序(让它运行,比如说,每 5 分钟一次):

cd /path/to/your/project && jobs -l | grep `cat queue.pid` ||  nohup /usr/bin/php artisan queue:listen & echo $! > queue.pid; 

这里有两个变量: 1. /path/to/your/project -- 是你的 Laravel 项目根目录。实际上,php artisan 可以工作的文件夹; 2./usr/bin/php——服务器上PHP可执行文件的路径(which php

【讨论】:

【参考方案2】:

是的,如果您使用 Linux,您可以使用例如 supervisor,它将运行 php artisan queue:listen(您需要将此命令添加到主管配置文件),它将确保该命令一直运行。

【讨论】:

以上是关于自动运行 Laravel 队列 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 自动执行排队的作业[重复]

Laravel 队列与 beanstalkd 和 redis 重复

Laravel系列2.3Laravel运行命令行脚本

使用 Supervisor 管理队列进程ModStart

使用 Supervisor 管理队列进程ModStart

Laravel psr-4 不自动加载