守护类

是主功能类

监听消息,分发消息 启动进程

看核心代码

1        while(1) {
2             $message = $this->_listening();
3             $this->_dispatch($message);
4             $this->_process_manager->close_processes();
5
6         }

ActiveMQ的listening方法

protected function _listening() {static $last_recv_time = 0;$last_recv_time = time();_print_log('waiting for recv message ...');while (1) { // 阻塞直到读取消息$message = $this->_activemq->receive();if ( $message !== false ) {$last_recv_time = time();_print_log("receive from:".$message->headers['destination']."\nmessage-id:" .$message->headers['message-id']." \nmessage-body-length:".strlen($message->body)." \nmessage-body:".substr($message->body, 0, 10)." ...");//file_put_contents(SITE_PATH."/data/".$message->headers['timestamp'].".data", serialize($message));TimeRecorder::add($message->headers['message-id'], IndexTags::RecvMessage);return $message;} else {$error = $this->_activemq->getError();if ($error != '') {_print_log("error:".$error );}}if (time() - $last_recv_time > 1800 ) { //
                $last_recv_time = time();$this->_reconnect();}$this->_process_manager->close_processes();}}

转载于:https://www.cnblogs.com/andiwang/p/7009116.html

一个用于消息队列的并发式php进程管理程序-守护相关推荐

  1. C# 模拟一个处理消息队列的线程类 Message Queue

    1 // 模拟一个处理消息队列的类 2 class MessageHandler 3 { 4 // 消息队列 5 private Queue<string> messageQue = ne ...

  2. 【转载!!】一个用消息队列 的人,不知道为啥用 MQ,这就有点尴尬

    https://www.cnblogs.com/williamjie/p/9481780.html 消息队列 为什么写这篇文章? 博主有两位朋友分别是小A和小B: 小A,工作于传统软件行业(某社保局的 ...

  3. 高并发架构系列:如何从0到1设计一个MQ消息队列

    消息队列作为系统解耦,流量控制的利器,成为分布式系统核心组件之一. 如果你对消息队列背后的实现原理关注不多,其实了解消息队列背后的实现非常重要. 不仅知其然还要知其所以然,这才是一个优秀的工程师需要具 ...

  4. c#进阶(4)—— Redis 用于消息队列的存储

    1.参考的博文 a : http://www.cnblogs.com/lori/archive/2012/04/12/2443708.html -- 主要的实现思路 b:  http://www.cn ...

  5. RabbitMQ 中 7 种消息队列

    点击关注公众号,Java干货及时送达 七种模式介绍与应用场景 简单模式(Hello World) 做最简单的事情,一个生产者对应一个消费者,RabbitMQ相当于一个消息代理,负责将A的消息转发给B ...

  6. 消息队列之 RabbitMQ

    消息队列之 RabbitMQ 关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时候把这块的知识整理记录一下了. 市面上的消息队列产品有很 ...

  7. redis灵魂拷问:如何使用stream实现消息队列

    redis在很早之前就支持消息队列了,使用的是PUB/SUB功能来实现的.PUB/SUB有一个缺点就是消息不能持久化,如果redis发生宕机,或者客户端发生网络断开,历史消息就丢失了. redis5. ...

  8. linux c 消息队列简介

    消息队列和共享内存.信号量一样,同属 System V IPC 通信机制.消息队列是一系列连续排列的消息,保存在内核中,通过消息队列的引用标识符来访问.使用消息队列的好处是对每个消息指定了特定消息类型 ...

  9. 【Android 异步操作】手写 Handler ( Message 消息 | ThreadLocal 线程本地变量 | Looper 中的消息队列 MessageQueue )

    文章目录 一.Message 消息 二.ThreadLocal 线程本地变量 三.Looper 中的消息队列 MessageQueue 一.Message 消息 模仿 Android 中的 Messa ...

最新文章

  1. 用WinForm/WPF代码来为.NET Core 3.0功能投票
  2. 重启部署在Linux系统下的tomcat服务
  3. 【Git】Git 标签使用 ( 查询哈希码 | 创建标签 git tag v1.0 | 查询标签 git tag | 查询标签信息 git show v1.0 | 创建标签并指定说明 | 删除标签 )
  4. 数据挖掘实践(金融风控)
  5. 【差分】bzoj 1676 [Usaco2005 Feb]Feed Accounting 饲料计算
  6. 12月25号 Category类别
  7. c语言修仙受控可看吗,强推三本神奇到爆的小说,c语言修仙,程序员与修真会擦出什么火花...
  8. 利用xlwt写excel并进行单元格的合并
  9. mariadb mysql 5.6_MySQL / MariaDB 5.5 升级到 MySQL 5.6
  10. java 连接 sftp失败_java – 文件上传到SFTP失败(Apache VFS)
  11. 微软职位内部推荐-SW Engineer II for Skype
  12. java invocationtarget,Java异常处理之java.lang.reflect.InvocationTargetException
  13. 【写作技巧】毕业论文结构一文通
  14. 采购供应链“双璧”姊妹花,一键实现采购流程精细化管理!
  15. angularjs+chosen的使用备忘
  16. keras中model.compile()基本用法
  17. 【猿说VUE】Visual Studio Code安装配置
  18. 构建 Darknet 分类器 (Tiny Darknet) 训练数据集 (color recognition 颜色识别/color classification 颜色分类)
  19. 6年前布局,如今阿里智能语音成行业第一,我们的快递、客服都离不开它
  20. 阅读GNSS软件接收机matlab代码(二)

热门文章

  1. php七牛持久化处理,使用七牛自定义数据处理范例
  2. PHPInfo()信息泄漏——综合利用提权
  3. CentOS/Ubuntu/Debian常用版本更换国内源的方法
  4. 广义动量定理之质量m的应用案例分析
  5. Java中List、Collections实现梭哈游戏
  6. XCODE 出现 The operation couldn't be completed.(LaunchServicesError error 0.)错误修复
  7. xml学习中的趣事一件----嘿嘿!
  8. 面试题 03.03. 堆盘子
  9. android单个页面切换_Android基础之使用Fragment控制切换多个页面
  10. c++ 圆上任意点坐标计算_已知圆弧的一些信息,求得圆弧上中间点的坐标的方法(C++语言描述)...