首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
redis订阅问题
我的是swoole启动了n个worker进程,我想在启动服务的时候启动redis订阅功能,将订阅功能放在onWorkerStart回调中后发现启动了N个redis订阅,这样再publish时代码订阅逻辑执行了n遍,请问怎么让他只执行一遍,是需要用一个专门进程来做订阅吗。 请问怎么实现呢
发布于6年前 · 2 次浏览 · 来自
提问
xmsite
我的是swoole启动了n个worker进程,我想在启动服务的时候启动redis订阅功能,将订阅功能放在onWorkerStart回调中后发现启动了N个redis订阅,这样再publish时代码订阅逻辑执行了n遍,请问怎么让他只执行一遍,是需要用一个专门进程来做订阅吗。 请问怎么实现呢
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2020-05-26
郭新华
额,没太看懂。订阅发布不就是一个publish 所有的订阅者都收到消息吗? 你是不是应该用redis的list啊。
赞
0
回复
2020-05-27
李铭昕
你可以用自定义进程来启动一个 `Process`,里面进行 `Redis` 订阅。 另外我记得 `\Redis` 似乎不支持取消订阅,可以试试这个 [redis-subscribe](https://github.com/mix-php/redis-subscribe)
赞
0
回复