php操作rabbitmq
2023-09-14 09:12:10 时间
<?php header('Content-Type:text/html;charset=utf8;'); $time = 10; $params = array( 'exchangeName' => 'test_cache_exchange'."_".$time, 'queueName' => 'test_cache_queue'."_".$time, 'routeKey' => 'test_cache_route'."_".$time, ); $connectConfig = array( 'host' => '192.168.33.60', 'port' => 5672, 'login' => 'admin', 'password' => 'admin', 'vhost' => '/' ); //var_dump(extension_loaded('amqp')); // //exit(); try { $conn = new AMQPConnection($connectConfig); $conn->connect(); if (!$conn->isConnected()) { //die('Conexiune esuata'); //TODO 记录日志 echo 'rabbit-mq 连接错误:', json_encode($connectConfig); exit(); } $channel = new AMQPChannel($conn); if (!$channel->isConnected()) { // die('Connection through channel failed'); //TODO 记录日志 echo 'rabbit-mq Connection through channel failed:', json_encode($connectConfig); exit(); } $exchange = new AMQPExchange($channel); $exchange->setFlags(AMQP_DURABLE);//持久化 $exchange->setName($params['exchangeName']?:''); $exchange->setType(AMQP_EX_TYPE_DIRECT); //direct类型 $exchange->declareExchange(); //$channel->startTransaction(); $queue = new AMQPQueue($channel); $queue->setName($params['queueName']?:''); $queue->setFlags(AMQP_DURABLE); // 和普通生产者区别 在这 下面是过期时间和转发到的路由 $queue->setArguments(array( 'x-dead-letter-exchange' => 'delay_exchange', 'x-dead-letter-routing-key' => 'delay_route', 'x-message-ttl' => 20000, )); $queue->declareQueue(); //绑定 $queue->bind($params['exchangeName'], $params['routeKey']); } catch(Exception $e) { } //$num = mt_rand(100, 500); $num = 1; //生成消息 $exchange->publish(date("Y-m-d H:i:s"), $params['routeKey'], AMQP_MANDATORY, array('delivery_mode'=>2));
相关文章
- RabbitMQ 入门教程(PHP版) 第六部分:远程调用(RPC)
- RabbitMQ 入门教程(PHP版) 第三部分:发布/订阅(Publish/Subscribe)
- [Ubuntu] 编译安装 PHP 依赖库
- 摄像头拍照,PHP输入流php://input的使用分析
- PHP 图像因其本身有错无法显示怎么办
- php分享十一:PHP实现异步调用方法研究
- PHP中获取当前页面的完整URL & php $_SERVER中的SERVER_NAME 和HTTP_HOST的区别
- PHP+ajax实现二级联动【post+json方式】
- [php-src]Php扩展的内存泄漏处理思路
- [php-src]一个Php扩展的结构
- Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php c#.Net
- paip.文件目录操作uAPI php python java对照
- PHP面试题:php读取文件内容的几种方法和函数?
- Centos7 安装PHP7版本及php-fpm,redis ,php-redis,hiredis,swoole 扩展安装
- PHP中RabbitMQ之phpAmqplib实现(五
- php rabbitmq操作类及生产者和消费者实例代码 转