ホームページ >バックエンド開発 >PHPチュートリアル >求好用的支持php、延时任务的队列服务

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

WBOY
WBOYオリジナル
2016-06-06 20:51:541074ブラウズ

参照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 までご連絡ください。