php 操作 amqp demo

$mqConf = Config::getInstance()->getConf('rabbitmq');
        //创建连接
        $conn = new \AMQPConnection($mqConf);//连接 mq和channel
        if(!$conn->connect()){//连接成功返回true
            Helper::writeLog(null, 'rabbitmq', 'error', 'rabbitmq 连接失败', 'rabbitmq'); 
            return false;
        }
        
        //创建channel
        $channel = new \AMQPChannel($conn);
        //创建交换机
        $ex = new \AMQPExchange($channel);
        //设置名字
        $ex->setName('CREDITS_EXCHANGE');
        //设置DIRECT类型
        $ex->setType(AMQP_EX_TYPE_DIRECT);
        //持久化
        $ex->setFlags(AMQP_DURABLE);
        //声明创建一个ex
        $ex->declareExchange();
        // 打印状态
        //echo "exchange status:".$status . PHP_EOL;
        //发送消息
        $flag = $ex->publish($message, 'worker');
        if(!$flag){
            Helper::writeLog(null, 'rabbitmq', 'error', 'rabbitmq 消息发送失败失败', $uid); 
        }
        //关闭连接

        $conn->disconnect();


如果希望绑定到队列 可执行以下代码

// 创建队列
$q = new AMQPQueue($channel);
$q->setName($q_name);
$q->setFlags(AMQP_DURABLE); //持久化 
// $q->declareQueue(); // 同上
echo "queue status: ".$q->declareQueue();
echo "<br/>";


// $q->bind($e_name,$k_route);//将你的队列绑定到routin






猜你喜欢

转载自blog.csdn.net/u010320371/article/details/80674185