Download the PHP package seddighi78/laravel-nats without Composer
On this page you can find all versions of the php package seddighi78/laravel-nats. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download seddighi78/laravel-nats
More information about seddighi78/laravel-nats
Files in seddighi78/laravel-nats
Package laravel-nats
Short Description Nats jetstream client for Laravel
License MIT
Homepage https://github.com/seddighi78/laravel-nats
Informations about the package laravel-nats
Laravel-Nats
This package provides an observer for the Laravel Nats push-based event system that uses Laravel events. it uses https://github.com/basis-company/nats.php for using Nats in php
Installation
You can install the package via Composer:
The package will automatically register itself.
You can optionally publish the config file with:
Connection
You should set the config env parameters to connect to your NATS server. for example :
other configuration parameters can be found in config/nats.php
.
Usage
You need to run this command to subscribe to a subject and receive messages from the NATS server, it will dispatch a MessageReceived.php
event when a new message is received and then you can listen to this event to do your job.
Arguments:
{subject}
: The name of your queue or stream (example:main
){group?}
: (Optional) The consumer group name for the subscription. When specified, it enables NATS Queue Groups functionality.{--connection}
: (Optional) The connection name to use.
About NATS Queue Groups
When you specify a group name, the subscriber becomes part of a queue group in NATS. Queue groups allow you to distribute messages across multiple subscribers for load balancing. Here's how it works:
- Without a group: Each subscriber receives a copy of every message (pub/sub pattern)
- With a group: Messages are distributed across subscribers in the same group (queue pattern)
Example usage:
In the example above, if you have multiple subscribers with the same group name, only one subscriber in the group will receive each message, enabling load balancing across your subscribers.
Example
These files are examples of using the package:
Subscribe
Create a listener and listen to the MessageReceived
event:
add the listener to EventServiceProvider
Publish
You can use this code to publish a message on a specific subject:
When a message is published and the command nats:subscriber:work
is running, the MessageReceived
event will be dispatched, and you can listen to this event to do your job.
Also you can use the facade for calling these methods:
All versions of laravel-nats with dependencies
basis-company/nats Version ^0.26
illuminate/config Version ^10.0 || ^11.0 || ^12.0
illuminate/support Version ^10.0 || ^11.0 || ^12.0