自动运行Laravel队列

时间:2015-12-29 14:28:19

标签: laravel laravel-5 queue

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

2 个答案:

答案 0 :(得分:1)

是的,如果您使用Linux,您可以使用例如supervisor,它将运行php artisan queue:listen(您需要将此命令添加到管理程序配置文件中)并且它将确保此命令始终是运行

答案 1 :(得分:0)

这是一个放入你的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