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

思路如下:

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

https://github.com/chrisboulton/php-resque

任务队列

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

php消息队列异步,消息队列 - 如何实现php的异步任务队列相关推荐

  1. 八.利用springAMQP实现异步消息队列的日志管理

    经过前段时间的学习和铺垫,已经对spring amqp有了大概的了解.俗话说学以致用,今天就利用springAMQP来完成一个日志管理模块.大概的需求是这样的:系统中有很多地方需要记录操作日志,比如登 ...

  2. C#实现异步消息队列

    C#实现异步消息队列 原文:C#实现异步消息队列 拿到新书<.net框架设计>,到手之后迅速读了好多,虽然这本书不像很多教程一样从头到尾系统的讲明一些知识,但是从项目实战角度告诉我们如何使 ...

  3. Celery + Flower + FastAPI + RabbitMQ ,Python实现异步消息队列和监控

    @Author:Runsen 消息队列 消息队列让应用程序在用户请求之外异步执行称为任务的工作.如果应用程序需要在后台执行工作,它会将任务添加到任务队列中.这些任务稍后由工作服务执行. Celery ...

  4. redis stream java消息队列_Redis 异步消息队列与延时队列

    消息中间件,大家都会想到 Rabbitmq 和 Kafka 作为消息队列中间件,来给应用程序之间增加异步消息传递功能.这两个中间件都是专业的消息队列中间件,特性之多超出了大多数人的理解能力.但是这种属 ...

  5. Redis异步消息队列

    一.异步消息队列介绍 个人认为消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦.所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列.同时由于使用了消 ...

  6. 异步消息队列Celery

    Celery是异步消息队列, 可以在很多场景下进行灵活的应用.消息中包含了执行任务所需的的参数,用于启动任务执行, suoy所以消息队列也可以称作 在web应用开发中, 用户触发的某些事件需要较长事件 ...

  7. Java教程:RabbitMq如何开启发布手动确认模式,采用及时或异步方式确定消息是否发送到队列

    引言: 自我们安装好rabbitmq之时,系统默认生产者与消费者发布消费机制为自动模式,也就是说无需我们知道是否成功,即发布方法调取之后,消费者无异常后,整个流程完毕,但由于我们业务当中,由于网络波动 ...

  8. Spring framework(10):集成 JMS 异步消息队列(ActiveMQ)

    JMS 和 Apache-ActiveMQ 简介 JMS(Java Message Service,Java 消息服务)是一个 Java 面向消息中间件(MOM)的 API,用于 Java 应用程序或 ...

  9. 消息队列面试连环问:如何保证消息不丢失?处理重复消息?消息有序性?消息堆积处理?...

    大家好,我是 yes. 最近我一直扎在消息队列实现细节之中无法自拔,已经写了 3 篇Kafka源码分析,还剩很多没肝完.之前还存着RocketMQ源码分析还没整理.今儿暂时先跳出来盘一盘大方向上的消息 ...

  10. redis stream java消息队列_Redis-消息队列的两种实现方式

    索引: 基于list的实现方式 基于publish/subscribe 实战 消息队列简介 消息队列:是消息的顺序集合. 比如网站的PV统计和查看,传统方式就是每个页面发一个AJAX然后mysql给P ...

最新文章

  1. VC内存泄露检查工具:VisualLeakDetector
  2. 查看大日志文件的专门工具logviewer
  3. 吴恩达深度学习 —— 3.2 神经网络表示
  4. 从命令行获取两个路径名称并找出文件一样内容一样的两个文件
  5. Windows Phone 项目实战之账户助手
  6. WiFi音箱在国内普及需解决的三点
  7. Sosoapi环境搭建
  8. Android自定义T9拨号键盘,Android拨号盘 支持T9搜索和号码搜索等拨号盘案例
  9. Java分布式系统框架教程,架构设计
  10. Hadoop常见命令 完整版
  11. 微信小程序云开发———云存储
  12. 讯时后台编辑器在IE8下无法打开窗口的解决办法
  13. 用Vue完成加减乘除运算
  14. 微信小程序支持windows PC版了
  15. EasyCVR如何实现视频监控的大屏播放?
  16. MOOS-ivp之第一个MOOSApp:向MOOSDB发布数据
  17. 2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛(重赛)Subpermutation
  18. Java 添加和删除Word文档水印
  19. 概率分布:Bernoulli分布,二项分布,multinoulli分布和多项分布
  20. 从滚动条到画布的几个代码文件——Python学习笔记之十七

热门文章

  1. 如何成为很厉害的程序员?这几点很重要
  2. impress.js_与Impress.js和Impressr同步基于Web的演示幻灯片[Quicktip]
  3. 如何编写一个足球点球大战的模拟程序(C语言)
  4. HDU2571:命运(DP) 超详细题解
  5. ffmpeg解码内存缓冲区
  6. 基础 (2022春)
  7. ABAP 开发利用HANA特性
  8. ABAP开发Smartform实例
  9. MySQL提示Truncated incorrect DOUBLE value解决方法
  10. CSP 202006-1 线性分类器 python