php think queue:work --queue default_card(任务名称) 单次执行
php think queue:listen --queue default_card 监听:有任务进来时就执行。
三种情况:
- queue:work 默认只执行一次队列请求, 当请求执行完成后就终止;
- queue:listen 监听队列请求, 只要运行着, 就能一直接受请求, 除非手动终止;
- queue:work --daemon 同 listen 一样, 只要运行着, 就能一直接受请求, 不一样的地方是在这个运行模式下, 当新的请求到来的时候, 不重新加载整个框架, 而是直接 fire 动作.
能看出来, queue:work --daemon 是最高级的, 一般推荐使用这个来处理队列监听.
注意: 使用 queue:work --daemon , 当更新代码的时候, 需要停止, 然后重新启动, 这样才能把修改的代码应用上.
# yum install epel-release
# yum install -y supervisor
# systemctl enable supervisord # 开机自启动
# systemctl start supervisord # 启动supervisord服务
# systemctl status supervisord # 查看supervisord服务状态
# ps -ef|grep supervisord # 查看是否存在supervisord进程
配置文件可以 这样配置:
[program:queue_name]
command= /usr/local/bin/php think queue:listen --queue luck_draw