有点雾水,有点懵b,php这种东西怎么能实时监控Activemq消息队列的。php不是在网页中执行的嘛?怎么能一直待在那接收消息啥的。我想了想,是不是这样的?cmd弹出个dos窗口,然后php用命令行模式执行,搞个死循环,就一直在那轮询,看队列有没有消息,有就执行处理。是不是这样的。如果整个是这样,整个逻辑是不是这样的?有个场景,用户购买产品,48小时,不确认,就自动默认好评。或者滴滴用户坐车,下车后48小时,不评价司机,默认好评。第一步:1、php接收用户输入的购买产品参数,处理后,写入数据库订单表,形成订单。第二步:2、用户支付->卖家发货。第三步:3、发货的同时,把发货时间距离48小时后的秒数,还有订单id,插入消息队列。这时候,整个web处理流程完成了。然后我在,cmd窗口,执行一个php订单超时文件,这个文件,就在那一直循环啊,循环啊,轮询看消息队列。例如,5秒,看一次,有没有倒计时是0的过期订单,有就拿出来,把订单状态更改为已确认。到这整个流程就完事了。是不是这个样子。暂时就这样理解的,对不对呢?如果是这样的,那么好处就是,不用扫表了,改成了扫内存。因为内存快,所以比直接扫表要效率高。或者,监控程序,用java做一个,也是像php那种循环轮询。或者干脆做一个winform窗口文件,做同样的事情监控、执行任务。这么理解对不对?
添加回答
举报
0/150
提交
取消