/** * [processMessage 处理消息] * @param [type] $envelope [AMQPEnvelope] * @param [type] $queue [AMQPQueue] * @return [type] [description] */ public static function processMessage($envelope, $queue) { $msg = $envelope->getBody(); $this->logger->info("start process message :" . $msg); $msg = json_decode($msg, true); $worker = new PkgWorker(); $worker->process($msg); $this->logger->info("end process message :" . $msg); $queue->ack($envelope->getDeliveryTag()); }
/** * 应答对列(阻塞模式) * @param [type] $queueName [队列名] * @param [type] $messages [消息obj] * @return [type] [description] */ public function ack($queueName, $messages) { //设置队列名 $this->queue->setName($queueName); $delivery_tag = $messages->getDeliveryTag(); $this->queue->ack($delivery_tag); //应答 }