laravel5.4 使用队列

使用的服务器是centos6.5

前面的步骤跟laravel官方的文档一致

只是在安装supervisor的时候出现了一些偏差

安装完成之后 默认只有一个配置文件在/etc/supervisord.conf

没有ubuntu下的/etc/supervisor/conf.d

也没有centos7的/etc/supervisord.d

//以下是centos7要关注的内容

另外 要注意 如果是centos7,请打开配置文件 /etc/supervisord.conf

查看最后一行

[include]
files = supervisord.d/*.ini

这一行的意思就是引入/etc/supervisord.d 下的所有的.ini文件

而laravel文档给的配置文件后缀名是.conf 

所以你需要把配置文件后缀改成.ini 放到/etc/supervisord.d

这样只需要引入 /etc/supervisord.conf 就可以了 其他的自己写的配置文件自动引入

//centos7要关注的内容结束

然鹅,centos6估计是因为python版本太低的缘故 和别人家的安装出来的不一样

所以我就直接把添加的配置写在了/etc/supervisord.conf 的最下面

[program:myapp-production]
process_name=%(program_name)s_%(process_num)02d
command=php /data/website/myapp/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=8
redirect_stderr=true
stdout_logfile=/data/suerpervisor/xngp_production_worker.log #这个文件需要提前创建好

[supervisord]

[program:myapp-test]
process_name=%(program_name)s_%(process_num)02d
command=php /data/website/test.myapp/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=8
redirect_stderr=true
stdout_logfile=/data/suerpervisor/xngp_test_worker.log  #这个文件需要提前创建好

[supervisord]

#修改完成后 保存退出 重启superviosrd
[root@1g3ccvy7fZ etc]# ps aux |grep super
root        40  0.0  0.0      0     0 ?        S    Jun07   0:19 [sync_supers]
root      1146  0.0  0.1 200196  9816 ?        Ss   Aug14   0:12 /usr/bin/python2.6 /usr/bin/supervisord -c /etc/supervisord.conf
root      9963  0.0  0.0 103196   872 pts/2    S+   09:37   0:00 grep super
#将进程1146杀掉
[root@1g3ccvy7fZ etc]# kill -9 1146
#重启superviosrd
[root@1g3ccvy7fZ etc]# supervisord -c /etc/supervisord.conf
#开启supervisord的客户端
supervisorctl start all

另外说一点文档比较坑的地方

一般我们使用文档 都是直接粘贴复制的多(或许是只有我这样?)

文档里的配置写法如下 使用的queue:work的driver是sqs 相信大部分人用的都不是这个吧

反正我是redis 

所以如果你直接复制下来 然后运行是不对的 会报错

所以需要把sql删掉就行了 只要你在配置文件里配置好 会默认用你配置的

猜你喜欢

转载自blog.csdn.net/hoooooly/article/details/81698291