igusev / nsqclient
0.1.1
2017-09-29 07:29 UTC
Requires
- php: >=5.6
- ext-bcmath: *
- psr/log: ~1.0
- react/event-loop: ~0.4
This package is auto-updated.
Last update: 2024-11-25 03:45:31 UTC
README
Yet another PHP client for NSQ
Installation (via composer)
composer require moolex/nsqclient dev-master
Usage
Publish
$topic = 'my_topic'; $endpoint = new \NSQClient\Access\Endpoint('http://127.0.0.1:4161'); $message = new \NSQClient\Message\Message('hello world'); $result = \NSQClient\Queue::publish($endpoint, $topic, $message);
Publish (deferred)
$topic = 'my_topic'; $endpoint = new \NSQClient\Access\Endpoint('http://127.0.0.1:4161'); $message = (new \NSQClient\Message\Message('hello world'))->deferred(5); $result = \NSQClient\Queue::publish($endpoint, $topic, $message);
Publish (batch)
$topic = 'my_topic'; $endpoint = new \NSQClient\Access\Endpoint('http://127.0.0.1:4161'); $message = \NSQClient\Message\Bag::generate(['msg data 1', 'msg data 2']); $result = \NSQClient\Queue::publish($endpoint, $topic, $message);
Subscribe
$topic = 'my_topic'; $channel = 'my_channel'; $endpoint = new \NSQClient\Access\Endpoint('http://127.0.0.1:4161'); \NSQClient\Queue::subscribe($endpoint, $topic, $channel, function (\NSQClient\Contract\Message $message) { echo 'GOT ', $message->id(), "\n"; // make done $message->done(); // make retry immediately // $message->retry(); // make retry delayed in 10 seconds // $message->delay(10); });