100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > php消息队列异步 消息队列 - 如何实现php的异步任务队列

php消息队列异步 消息队列 - 如何实现php的异步任务队列

时间:2018-10-02 18:11:52

相关推荐

php消息队列异步 消息队列 - 如何实现php的异步任务队列

在开发一个类微博系统,采用推模式,用户发一条微博,需要将此微博在其所有粉丝每人的“收件箱“中存一条,如果粉丝数量大,处理过程就会很耗时,想把这个逻辑用异步队列来实现。

思路如下:

1)用户每发一条微博,就生成一个异步任务,PUSH到队列中去

2)由另外一个进程或线程顺序执行队列里的任务

问题是:

实现消息队列可以采用MemcachedQ,starling等等,将任务以某种格式放到消息队列中去没什么问题

但如何开启另外的进程或线程去取队列中的任务然后去执行呢?

写一个php循环去取队列中的任务?没有任务就直接循环着查询?有没有更好的解决方案?

回复内容:

在开发一个类微博系统,采用推模式,用户发一条微博,需要将此微博在其所有粉丝每人的“收件箱“中存一条,如果粉丝数量大,处理过程就会很耗时,想把这个逻辑用异步队列来实现。

思路如下:

1)用户每发一条微博,就生成一个异步任务,PUSH到队列中去

2)由另外一个进程或线程顺序执行队列里的任务

问题是:

实现消息队列可以采用MemcachedQ,starling等等,将任务以某种格式放到消息队列中去没什么问题

但如何开启另外的进程或线程去取队列中的任务然后去执行呢?

写一个php循环去取队列中的任务?没有任务就直接循环着查询?有没有更好的解决方案?

可以考虑redis的subscribe

http://redis.io/topics/pubsub

这个是推id的吧。

见过一个是依赖nginx的fastcgi_finish_request。

调用后。php继续执行。

可以参考这个 php-resque

/chrisboulton/php-resque

任务队列

发布php中文网,转载请注明出处,感谢您的尊重!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。