printMsgConsumer.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: ssh <ssh@zhhinc.com>
  5. * Date: 2019/9/9 0009
  6. * Time: 14:54
  7. */
  8. namespace common\components\rabbitmq\consumer;
  9. use mikemadisonweb\rabbitmq\components\ConsumerInterface;
  10. use PhpAmqpLib\Message\AMQPMessage;
  11. class printMsgConsumer implements ConsumerInterface
  12. {
  13. /**
  14. * @param AMQPMessage $msg
  15. * @return bool
  16. */
  17. public function execute(AMQPMessage $msg)
  18. {
  19. $data = unserialize($msg->body);
  20. print_r($data);
  21. print_r('PrintMsgConsumer done! ');
  22. if($data['status'] == 200){
  23. print_r('suceess ');
  24. return ConsumerInterface::MSG_ACK;
  25. }elseif($data['status'] == 500){
  26. sleep(5);
  27. print_r('faile ');
  28. return ConsumerInterface::MSG_REQUEUE;
  29. }
  30. /**
  31. * ConsumerInterface::MSG_ACK - Acknowledge message (mark as processed) and drop it from the queue
  32. * ConsumerInterface::MSG_REJECT - Reject and drop message from the queue
  33. * ConsumerInterface::MSG_REQUEUE - Reject and requeue message in RabbitMQ
  34. */
  35. }
  36. }