PHP code example of hao / mq

1. Go to this page and download the library: Download hao/mq library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

hao / mq example snippets


$delay = new \mq\RabbitMQ();

$ttl            = 1000 * 100;//订单100s后超时
$delayExName    = 'delay-order-exchange';//超时exchange
$delayQueueName = 'delay-order-queue';//超时queue
$queueName      = 'ttl-order-queue';//订单queue

$delay->createQueue($ttl, $delayExName, $delayQueueName, $queueName);
$data = [
    'order_no' => time(),
    'remark'   => 'this is a order test'
];
$delay->sendMessage(json_encode($data), $queueName);

$delay = new \mq\RabbitMQ();
$delayQueueName = 'delay-order-queue';

$callback = function ($msg) {
    echo $msg->body . PHP_EOL;
    $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);

    //处理订单超时逻辑,给用户推送提醒等等。。。
    sleep(10);
};

/**
 * 消费已经超时的订单信息,进行处理
 */
$delay->setQos(1);
$delay->consumeMessage($delayQueueName, $callback);

$delay = new \mq\RabbitMQ();
$exName    = 'order-exchange';//exchange
$queueName      = 'order-queue';//订单queue
$delay->createExchange($exName, $queueName);

$data = [
    'order_no' => time(),
    'remark'   => 'this is a order test'
];
$delay->sendMessage(json_encode($data), $queueName);
  

$delay = new \mq\RabbitMQ();
$delayQueueName = 'order-queue';

$callback = function ($msg) {
    echo $msg->body . PHP_EOL;
    $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);

    //处理订单超时逻辑,给用户推送提醒等等。。。
    sleep(10);
};

/**
 * 消费已经超时的订单信息,进行处理
 */
$delay->setQos(1);
$delay->consumeMessage($delayQueueName, $callback);