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

发布于 2022-08-25 01:04:05 字数 322 浏览 13 评论 0

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

思路如下:
1)用户每发一条微博,就生成一个异步任务,PUSH到队列中去
2)由另外一个进程或线程顺序执行队列里的任务

问题是:
实现消息队列可以采用MemcachedQ,starling等等,将任务以某种格式放到消息队列中去没什么问题
但如何开启另外的进程或线程去取队列中的任务然后去执行呢?
写一个php循环去取队列中的任务?没有任务就直接循环着查询?有没有更好的解决方案?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

家住魔仙堡 2022-09-01 01:04:05

可以考虑redis的subscribe
http://redis.io/topics/pubsub

︶葆Ⅱㄣ 2022-09-01 01:04:05

这个是推id的吧。

见过一个是依赖nginx的fastcgi_finish_request。
调用后。php继续执行。

ら栖息 2022-09-01 01:04:05

可以参考这个 php-resque
https://github.com/chrisboulton/php-resque
任务队列

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文