发布于:
2022-06-09 16:06:34
安装:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/composer require workerman/rabbitmq
示例
receive.php
<?php use Bunny\Channel;use Bunny\Message;use Workerman\Worker; use Workerman\RabbitMQ\Client;require __DIR__ . '/vendor/autoload.php'; $worker = new Worker();$worker->onWorkerStart = function() { (new Client())->connect()->then(function (Client $client) { return $client->channel(); })->then(function (Channel $channel) { return $channel->queueDeclare('hello', false, false, false, false)->then(function () use ($channel) { return $channel; }); })->then(function (Channel $channel) { echo ' [*] Waiting for messages. To exit press CTRL+C', "\n"; $channel->consume( function (Message $message, Channel $channel, Client $client) { echo " [x] Received ", $message->content, "\n"; }, 'hello', '', false, true ); });};Worker::runAll();
send.php
<?phpuse Bunny\Channel;use Bunny\Message;use Workerman\Worker;use Workerman\RabbitMQ\Client;require __DIR__ . '/vendor/autoload.php';$worker = new Worker();$worker->onWorkerStart = function() { (new Client())->connect()->then(function (Client $client) { return $client->channel(); })->then(function (Channel $channel) { return $channel->queueDeclare('hello', false, false, false, false)->then(function () use ($channel) { return $channel; }); })->then(function (Channel $channel) { echo " [x] Sending 'Hello World!'\n"; return $channel->publish('Hello World!', [], '', 'hello')->then(function () use ($channel) { return $channel; }); })->then(function (Channel $channel) { echo " [x] Sent 'Hello World!'\n"; $client = $channel->getClient(); return $channel->close()->then(function () use ($client) { return $client; }); })->then(function (Client $client) { $client->disconnect(); });};Worker::runAll();
非特殊说明,本文版权归 陈阳的博客 所有,转载请注明出处.
本文标题: workerman 使用rabbitmq示例