Download the PHP package alveos/swarrot without Composer
On this page you can find all versions of the php package alveos/swarrot. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package swarrot
Swarrot
Swarrot is a PHP library to consume messages from any broker.
Installation
The recommended way to install Swarrot is through
Composer. Require the swarrot/swarrot
package:
$ composer require swarrot/swarrot
Usage
Basic usage
First, you need to create a message provider to retrieve messages from your
broker. For example, with a PeclPackageMessageProvider
(retrieves messages from
an AMQP broker with the pecl amqp package:
Once it's done you need to create a Processor
to process messages retrieved
from the broker. This processor must implement
Swarrot\Processor\ProcessorInterface
. For example:
You now have a Swarrot\Broker\MessageProviderInterface
to retrieve messages
and a Processor to process them. So, ask the Swarrot\Consumer
to do its job :
Using a stack
Heavily inspired by stackphp/builder you
can use Swarrot\Processor\Stack\Builder
to stack your processors.
Using the built in processors or by creating your
own, you can extend the behavior of your
base processor.
In this example, your processor is decorated by 2 other processors. The
ExceptionCatcherProcessor
which decorates your own with a try/catch block and the
MaxMessagesProcessor
which stops your worker when some messages have been consumed.
Here is an illustration to show you what happens when this order is used:
Processors
Official processors
- AckProcessor
- Adrien Brault)
- ExceptionCatcherProcessor
- Adrien Brault)
- InstantRetryProcessor
- Remy Lemeunier)
- Remy Lemeunier)
- Christophe Coevoet)
- RetryProcessor
- Pierrick Vignand)
- SignalHandlerProcessor
- Anthony Moutte)
- Anthony Moutte)
Create your own processor
To create your own processor and be able to use it with the StackProcessor
, you
just need to implement ProcessorInterface
and to take another
ProcessorInterface
as first argument in constructor.
Deprecated processors & message providers / publishers
In order to reduce swarrot/swarrot
dependencies & ease the maintenance, some
processors & message providers / publishers have been deprecated in 3.x version.
They will be deleted in 4.0.
If you use those deprecated classes you could create your own repository to keep them or we could create a dedicated repository under the swarrot organisation if you're willing to help to maintain them.
Message providers / publishers
- SQS Message provider (in 3.5.0)
- Stomp message providers (in 3.6.0)
- Stomp message publishers (in 3.7.0)
- Interop message publishers & providers (in 3.7.0)
Processors
- SentryProcessor (in 3.5.0)
- RPC related processors (in 3.5.0)
- NewRelicProcessor (in 3.7.0)
Inspiration
License
Swarrot is released under the MIT License. See the bundled LICENSE file for details.
All versions of swarrot with dependencies
symfony/options-resolver Version ^5.4 || ^6.0 || ^7.0
psr/log Version ^1.0 || ^2.0 || ^3.0