Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // http client making a request to github api
- require_once __DIR__ . '/vendor/autoload.php';
- use Bunny\Async;
- $loop = React\EventLoop\Factory::create();
- $dnsResolverFactory = new React\Dns\Resolver\Factory();
- $dnsResolver = $dnsResolverFactory->createCached('8.8.8.8', $loop);
- $factory = new React\HttpClient\Factory();
- $client = $factory->create($loop, $dnsResolver);
- $connection = [
- 'host' => 'black-boar.rmq.cloudamqp.com',
- 'vhost' => 'gespngvv', // The default vhost is /
- 'user' => 'gespngvv', // The default user is guest
- 'password' => 'bgYQ8mwoyq5e5q_-UFCJyDCgb0L_936-', // The default password is guest
- ];
- $connection = new Async\Client($loop, $connection);
- $connection->connect()->then(function ($client) {
- return $client->channel();
- })->then(function ($channel) {
- return $channel->qos(0, 10)->then(function () use ($channel) {
- return $channel;
- });
- })->then(function ($channel) use ($client) {
- $channel->consume(
- function ($message, $channel, $client) use ($client) {
- echo 'new message' . PHP_EOL;
- $request = $client->request('GET', 'https://www.google.com');
- $request->on('response', function ($response) use ($channel, $message) {
- $buffer = '';
- $response->on('data', function ($data) use (&$buffer) {
- $buffer .= $data;
- });
- $response->on('end', function () use (&$buffer, $channel, $message) {
- echo 'request done' . PHP_EOL;
- $channel->ack($message);
- });
- });
- $request->end();
- },
- 'phpqueue'
- );
- })->done();
- $loop->run();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement