annon / nsqclient
Yet another NSQ library.
0.0.2
2023-12-22 08:56 UTC
Requires
- php: >=7.1
- ext-bcmath: *
- ext-curl: *
- ext-json: *
- psr/log: ~3.0
- react/event-loop: ~1.5
Suggests
- ext-pcntl: graceful shutdown
This package is auto-updated.
Last update: 2024-11-15 05:54:16 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); });