使用supervisorctl进程工具监听redis处理消息订阅

用supervisorctl 常驻进程工具 监听redis 过期key 处理消息订阅

框架使用: laravel 5.8

首先在 database.php 文件里配置redis publisher 频道订阅监听

使用需求:由于项目服务器里使用php artisan redis:action subscribe & 进程无法在linux常驻监听redis订阅消息(访问频道总是不在同一个进程中,且每次打开小黑窗,频道都不同,不知道为啥)

于是使用supervisor 常驻内存工具 (一般用来做队列监听)做消息订阅。(来监听我的redis key值过期)

注意:修改了redis代码需要重启redis 之后也需要重启supervisor

重启supervisor步骤:

  1. 重启redis(我宝塔直接重启redis)

  2. 查看管理进程的状态 supervisorctl status

  3. 里面可以看到subscribe RUNNING的状态

  4. stop掉 superivisor 里面的进程

  5. 停止语句 supervisorctl stop subscribe

  6. 再次查看状态

  7. 可以看到STOPPED了

  8. 此时可以关闭supervisor
    ps -ef | grep super,然后kill -9 杀进程

  9. 重新启动supervisor
    supervisord -c /etc/supervisord.conf
    使用superivisor之后无需再执行 php artisan redis:action subscribe & 语句

注意:如果supervisorctl 错误关闭,会导致多个进程监听。此时会监听到多次,如果监听处有处理逻辑,可能会触发多次处理,出现BUG。
处理方式:从步骤5开始,先stop所有,然后kill掉 再启动一个。如果没有效果建议从重启redis步骤开始

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值