>  기사  >  백엔드 개발  >  求好用的支持php、延时任务的队列服务

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

WBOY
WBOY원래의
2016-06-06 20:51:541027검색

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

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

回复内容:

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

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

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是支持持久化的,不过一般而言没什么必要而已。

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

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

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

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

我们现在用的是beanstalkd

真心觉得HTTPSQS不错

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.