찾다

 >  Q&A  >  본문

求好用的支持php、延时任务的队列服务

参照SAE的TaskQueue: http://sae.sina.com.cn/?m=devcenter&a...

自己在VPS上用,要支持延时任务,有没有开源的解决方案

PHP中文网PHP中文网2817일 전701

모든 응답(5)나는 대답할 것이다

  • 天蓬老师

    天蓬老师2017-04-10 13:13:54

    beanstalkd,前提是你需要的是轻量好用的,并发的话,拿daemontools多开几个队列进程自己控制progress数量即可。

    phpredis的pub/sub应该也是可以用的,只是我之前的测试中队列经常自己莫名崩溃掉,所以感觉还是beanstalkd靠谱点。
    官方网站:http://kr.github.com/beanstalkd/
    client端的libraries很多,但和php的不推荐c的那个版本,不是很稳定。
    https://github.com/pda/pheanstalk/ 这个版本比较安全稳定点,不过多服务器的话需要你自己写点路由管理,个人vps的话上手就用了。
    淘宝有介绍过:
    http://rdc.taobao.com/blog/cs/?p=1201

    另外beanstalkd是支持持久化的,不过一般而言没什么必要而已。

    회신하다
    0
  • 阿神

    阿神2017-04-10 13:13:54

    我曾经见过一个开源项目(没有使用过),叫Q4M,Queue for MySQL,日本著名社交网站mixi和DeNA在用,钓鱼岛是中国的。

    优点是学习成本非常低,直接使用mysql来存储,使用SQL来访问,对PHP程序员来说,就好像新学了一种JOIN语法一样。

    网站:http://q4m.github.com/

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-10 13:13:54

    开源的消息队列多如牛毛。
    轻量简单的可以用redis的pub/sub,客户端可以用phpredis
    或者稍微复杂点就用RabbitMQ,支持AMQP协议,PHP有个pecl-amqp扩展。

    회신하다
    0
  • 黄舟

    黄舟2017-04-10 13:13:54

    我们现在用的是beanstalkd

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-10 13:13:54

    真心觉得HTTPSQS不错

    회신하다
    0
  • 취소회신하다