在php中是redis pub / sub现实吗?

时间:2016-12-28 07:57:22

标签: php redis publish-subscribe messagebroker paas

我想在PHP中使用redis pub / sub,但我担心PHP不能成为唯一的工具:订阅者需要始终可调用,因为php不是作为守护进程运行的,我不能相信它总是“开启”。 那么PHP世界的解决方案是什么:

  1. 不要使用pub / sub,使用其他redis'存储与crontask每隔x分钟启动一次php
  2. 使用会打电话给php的经纪人吗?
  3. 其他?
  4. 用“2.”我的意思是:使用 nodejs / java / fooBar服务器,它是守护进程的订阅者并回调php(使用http / cli或其他)。

    我找不到比“2”更好的主意。 ,但它以同样的方式似乎无益......

    您有什么看法?

    编辑: 你会如何使用像platform.sh这样的云平台来实现这一目标,但是没有机会拥有一个supervisor.d?

1 个答案:

答案 0 :(得分:1)

感谢评论,我发现了一个令人满意的方法:使用supervisor.d,它将重新启动symfony Command脚本:

  • set_time_limit(0)
  • 无限循环
  • 阻止调用redis(BRPOP,最大路径比read_write_timeout低1秒)
    • 执行阻塞命令非常重要,以便不占用所有CPU时间
    • 我会去一个真正的酒吧/小组,但是现在,我只有一个听众,所以没关系
从早期的角度来看,我能说清楚:

  • supervisor.d非常容易安装/配置,文档完整,我没有遇到任何问题,这是非常罕见的+令人满意的!
  • 它似乎运作良好
  • 日志已写入,因此可能更容易理解未来崩溃
  • 如果X连续崩溃和接近崩溃,服务停止,我没有找到通知的方法,这确实是一个问题,我想我会去this solution({ {3}})
  • 喜欢@Mike Miller说:“只有你要记住的事情就是你需要在代码更改后重新启动,否则它将继续运行你的旧代码
相关问题