| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- use Bunny\Channel;
- use Bunny\Message;
- use Bunny\AbstractClient;
- use Workerman\Worker;
- use Roiwk\Rabbitmq\Producer;
- use Roiwk\Rabbitmq\AbstractConsumer;
- if (file_exists(__DIR__ . '/../../../../../vendor/autoload.php')) {
- require __DIR__ . '/../../../../../vendor/autoload.php';
- } else {
- require __DIR__ . '/../../vendor/autoload.php';
- }
- $worker = new Worker();
- $config = require __DIR__ . '/../config.php';
- $log = require __DIR__ . '/../log.php';
- $consumer = new class ($config, $log) extends AbstractConsumer {
- protected bool $async = true;
- protected string $exchange = 'topic_logs';
- protected string $exchangeType = 'topic';
- protected string $queue = 'topic_logs_queue';
- protected array $routingKeys = [
- '#',
- 'kern.*',
- '*.critical',
- 'kern.*" "*.critical',
- ];
- protected array $consume = [
- 'noAck' => true,
- 'noLocal' => true,
- ];
- public function consume(Message $message, Channel $channel, AbstractClient $client)
- {
- echo " [x] Received ", $message->content, "\n";
- }
- };
- $worker->onWorkerStart = [$consumer, 'onWorkerStart'];
- Worker::runAll();
|