receive-async.php 906 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. use Bunny\Channel;
  3. use Bunny\Message;
  4. use Bunny\AbstractClient;
  5. use Workerman\Worker;
  6. use Roiwk\Rabbitmq\Producer;
  7. use Roiwk\Rabbitmq\AbstractConsumer;
  8. if (file_exists(__DIR__ . '/../../../../../vendor/autoload.php')) {
  9. require __DIR__ . '/../../../../../vendor/autoload.php';
  10. } else {
  11. require __DIR__ . '/../../vendor/autoload.php';
  12. }
  13. $worker = new Worker();
  14. $config = require __DIR__ . '/../config.php';
  15. $log = require __DIR__ . '/../log.php';
  16. $consumer = new class ($config, $log) extends AbstractConsumer {
  17. protected bool $async = true;
  18. protected string $queue = 'hello';
  19. protected array $consume = [
  20. 'noAck' => true,
  21. ];
  22. public function consume(Message $message, Channel $channel, AbstractClient $client)
  23. {
  24. echo " [x] Received ", $message->content, "\n";
  25. }
  26. };
  27. $worker->onWorkerStart = [$consumer, 'onWorkerStart'];
  28. Worker::runAll();