欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

laravel5.4 使用队列

程序员文章站 2024-03-20 10:50:34
...

使用的服务器是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
[aaa@qq.com 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杀掉
[aaa@qq.com etc]# kill -9 1146
#重启superviosrd
[aaa@qq.com etc]# supervisord -c /etc/supervisord.conf
#开启supervisord的客户端
supervisorctl start all

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

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

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

反正我是redis 

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

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

laravel5.4 使用队列