Download the PHP package lushdigital/lumen-pubsub without Composer
On this page you can find all versions of the php package lushdigital/lumen-pubsub. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download lushdigital/lumen-pubsub
More information about lushdigital/lumen-pubsub
Files in lushdigital/lumen-pubsub
Package lumen-pubsub
Short Description A Pub-Sub abstraction for Lumen
License MIT
Informations about the package lumen-pubsub
laravel-pubsub
A Pub-Sub abstraction for Laravel.
This package is a wrapper bridging php-pubsub into Lumen.
The following adapters are supported:
- Local
- /dev/null
- Redis
- Kafka (see separate installation instructions below)
- Google Cloud
Installation
Register the service provider with Lumen in the bootstrap/app.php
file:
The package has a default configuration which uses the following environment variables.
To customize the configuration file simply copy it from vendor/lushdigital/lumen-pubsub/config/pubsub.php
to
app/config/pubsub.php
. Then you need to add the following line to bootstrap/app.php
:
You can then edit the config at app/config/pubsub.php
.
Kafka Adapter Installation
Please note that whilst the package is bundled with support for the php-pubsub-kafka adapter, the adapter is not included by default.
This is because the KafkaPubSubAdapter has an external dependency on the librdkafka c library
and the php-rdkafka
PECL extension.
If you plan on using this adapter, you will need to install these dependencies by following these installation instructions.
You can then include the adapter using:
Usage
Creating a Subscriber
The package includes a helper command php artisan make:subscriber MyExampleSubscriber
to stub new subscriber command classes.
A lot of pub-sub adapters will contain blocking subscribe()
calls, so these commands are best run as daemons running
as a supervisor process.
This generator command will create the file app/Console/Commands/MyExampleSubscriber.php
which will contain:
Once the command has been generated, do not forget to register it with Artisan.
This is done by editing the app/Console/Kernel.php
file. To register your command, simply add the command's class
name to the command list.
Kafka Subscribers
For subscribers which use the php-pubsub-kafka
adapter, you'll likely want to change the consumer_group_id
per
subscriber.
To do this, you need to use the PubSubConnectionFactory
to create a new connection per subscriber. This is because
the consumer_group_id
cannot be changed once a connection is created.
Here is an example of how you can do this:
Adding a Custom Driver
Please see the php-pubsub documentation Writing an Adapter.
To include your custom driver, you can call the extend()
function.
All versions of lumen-pubsub with dependencies
laravel/lumen-framework Version ~5.0
superbalist/php-pubsub Version ^1.0
superbalist/php-pubsub-redis Version ^1.0
superbalist/php-pubsub-google-cloud Version ^2.0|^3.0