uniondrug / mq
A mini MQ based on phalcon
Installs: 29
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/uniondrug/mq
Requires
- php: >=7.0
- ext-phalcon: ^3.2.0
This package is auto-updated.
Last update: 2025-10-09 20:56:49 UTC
README
MQ(
Message Queue), 即消息队列;模块/服务/业务之间异常通信的中间件。
class ExampleController ... { public function indexAction() { $order = OrderStruct::init(...); $mq = new Mq(); $mq->order->afterAudit($order); } }
Producter
- OrderMq
afterAudit($data) - 订单审核完成之后afterAuditFailure($data) - 订单审核失败之后afterCreated($data) - 订单创建完成之后afterCancelled($data) - 订单被取消之后afterCompleted($data) - 订单支付完成之后
- PromotionMq
afterConsumed($data) - 优惠券完成消费之后afterCreated($data) - 优惠券创建之后afterLocked($data) - 优惠券锁定之后afterUnlock($data) - 优惠券解锁之后
- RightsMq
afterActived($data) - 权益激活之后afterConsumed($data) - 权益消费完成之后afterCreated($data) - 权益创建完成之后afterLocked($data) - 权益被锁定之后afterUnlock($data) - 权益解除锁定之后
Consumer
MQ消费方, 使用
getPayloadBody()方法获取数据,获取到的数据有以下二种可能的来源
- 自MQ服务器转过的异步POST请求。
- 来自RestfulAPI的Request请求。
class ExampleController ... { public function testAction() { // 提取数据, 以下二种来源 // 1. 来自MQ // 2. API请求 $payload = $this->getPayloadBody(); // 打印结果如下: // { // "key" => "value" // } print_r (json_encode($payload, true)); } }