RadditMQ操作

来源:互联网 发布:淘宝引爆流量 编辑:程序博客网 时间:2024/06/04 04:39
  1. 入队列:  
  2.   
  3. <?php  
  4. //连接RabbitMQ  
  5. $conn_args = array'host'=>'localhost' , 'port'=> '5672''login'=>'guest' ,'password'=> 'guest','vhost' =>'/');  
  6. $conn = new AMQPConnection($conn_args);  
  7. $conn->connect();  
  8. //创建exchange名称和类型  
  9. $channel = new AMQPChannel($conn);  
  10. $ex = new AMQPExchange($channel);  
  11. $ex->setName('direct_exchange_name');  
  12. $ex->setType(AMQP_EX_TYPE_DIRECT);  
  13. $ex->setFlags(AMQP_DURABLE | AMQP_AUTODELETE);  
  14. $ex->declare();  
  15. //创建queue名称,使用exchange,绑定routingkey  
  16. $q = new AMQPQueue($channel);  
  17. $q->setName('queue_name');  
  18. $q->setFlags(AMQP_DURABLE | AMQP_AUTODELETE);  
  19. $q->declare();  
  20. $q->bind('direct_exchange_name''routingkey_name');  
  21. //消息发布  
  22. $channel->startTransaction();  
  23. $message = json_encode(array('Hello World!','DIRECT'));  
  24. $ex->publish($message'routingkey_name');  
  25. $channel->commitTransaction();  
  26. $conn->disconnect();  
  27. ?>  
  28.   
  29. 取队列:  
  30.   
  31. <?php  
  32. //连接RabbitMQ  
  33. $conn_args = array'host'=>'localhost' , 'port'=> '5672''login'=>'guest' , 'password'=> 'guest','vhost' =>'/');  
  34. $conn = new AMQPConnection($conn_args);  
  35. $conn->connect();  
  36. //设置queue名称,使用exchange,绑定routingkey  
  37. $channel = new AMQPChannel($conn);  
  38. $q = new AMQPQueue($channel);  
  39. $q->setName('queue_name');  
  40. $q->setFlags(AMQP_DURABLE | AMQP_AUTODELETE);  
  41. $q->declare();  
  42. $q->bind('direct_exchange_name''routingkey_name');     
  43. //消息获取  
  44. $messages = $q->get(AMQP_AUTOACK) ;  
  45. if ($messages){  
  46.       var_dump(json_decode($messages->getBody(), true ));  
  47. }  
  48. $conn->disconnect();  
  49. ?>


http://docs.phpcomposer.com/00-intro.html        rabbitmq     conposer


http://www.cnblogs.com/lchb/articles/2889927.html 链接rabbitmq封装参考

原创粉丝点击