A symfony messenger transport implementation for redis streams.
NOTE: Most of the logic has moved to the Core Symfony Messenger component in 4.3. So this bundle is not longer a requirement to use messenger with redis streams. You can now use the
redis://instead ofredis-stream://and remove this bundle from your requirements.
- PHP: 
^7.1- Redis Extension: 
^4.2 
 - Redis Extension: 
 - Redis Server: 
^5.0 
| Symfony Messenger Version | Bundle Version | 
|---|---|
| 4.2 | 1.0 | 
| 4.3 | 1.1 | 
When upgrading to symfony 4.3 you should replace this bundle
with the symfony redis:// transport and remove the bundle
from your requirements.
You need composer to install this bundle to your symfony application.
composer require handcraftedinthealps/redis-transport-bundleWhen using the symfony/framework-bundle you can configure the following:
# config/packages/framework.yaml
framework:
    messenger:
        routing:
            'HandcraftedInTheAlps\Bundle\RedisTransportBundle\Message\DomainEventMessage':
                senders: ['redis_stream']
        transports:
            redis_stream: 'redis-stream://127.0.0.1:6379/my_stream/my_group/my_consumer'You can then send a DomainEventMessage or your custom Message over the redis stream:
use HandcraftedInTheAlps\Bundle\RedisTransportBundle\Message\DomainEventMessage;
$this->messageBus->dispatch(
    new DomainEventMessage(
        'mountain.modified',    // the custom event action
        'mountain',             // the model which has been changed
        '1',                    // the model id or uuid
        [                       // the model payload
            'id' => '1',
            'name' => 'Piz Buin',
            'height' => 3312,
        ]
    )
);And you can consume the messages with:
bin/console messenger:consume-messages redis_streamHave also a look at the messenger component documentation and messenger usage documentation.
Messages in streams won't be removed by default. Therefor this bundle provides a command:
bin/console redis-transport:trim <redis-dsn> --maxlen 1000