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