RabbitmqTestController.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace console\controllers;
  3. use yii\console\Controller;
  4. class RabbitmqTestController extends Controller
  5. {
  6. /**
  7. * @param $producerName 生产者名称 (producer.name) -- 从 config/rabbitmq.php 找
  8. * @param $exchangeName 交换器名称 (exchanges.name)
  9. * @param $routingKey 绑定路由键(bindings.routing_keys)
  10. */
  11. public function actionPublish($producerName = '', $exchangeName = '', $routingKey = '')
  12. {
  13. if(empty($producerName)){
  14. $producerName = 'producer_1';
  15. }
  16. if(empty($exchangeName)){
  17. $exchangeName = 'ex1';
  18. }
  19. if(empty($routingKey)){
  20. $routingKey = 'route1';
  21. }
  22. $producer = \Yii::$app->rabbitmq->getProducer($producerName);
  23. $data = ['id' => 123, 'status' => 200, ['producer'=>$producerName, 'exchange'=>$exchangeName, 'routingKey'=>$routingKey]];
  24. $msg = serialize($data);
  25. $producer->publish($msg, $exchangeName, $routingKey);
  26. }
  27. }