PHPackages                             kcs/messenger-extra - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. kcs/messenger-extra

ActiveLibrary[Queues &amp; Workers](/categories/queues)

kcs/messenger-extra
===================

Additional transports and serializer support for symfony messenger

2.5.1(1y ago)2166.6k↓43%10[1 PRs](https://github.com/alekitto/messenger-extra/pulls)MITPHPPHP ^8.1CI failing

Since May 9Pushed 1y ago3 watchersCompare

[ Source](https://github.com/alekitto/messenger-extra)[ Packagist](https://packagist.org/packages/kcs/messenger-extra)[ GitHub Sponsors](https://github.com/alekitto)[ RSS](/packages/kcs-messenger-extra/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (10)Dependencies (18)Versions (19)Used By (0)

Messenger Extra
===============

[](#messenger-extra)

[![Tests](https://github.com/alekitto/messenger-extra/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/alekitto/messenger-extra/actions/workflows/tests.yml)

This library provides additional transports (and other things) for the symfony messenger component.

Install
-------

[](#install)

```
composer require kcs/messenger-extra

```

Transports
----------

[](#transports)

### Doctrine DBAL

[](#doctrine-dbal)

A transport using doctrine DBAL can be used through the `DbalTransportFactory`.

Supports delayed, prioritized, expiring (TTL) and unique messages.

The dsn supports the following schemes:

- `db2`
- `mssql`
- `mysql`
- `mysql2`
- `postgres`
- `postgresql`
- `pgsql`
- `sqlite`
- `sqlite3`

### Doctrine ORM

[](#doctrine-orm)

An existing ORM connection can be used with `doctrine` scheme.

For example `doctrine://default/queue` will use the `default` doctrine connection with the `queue` table.

The `doctrine` scheme will also register a `postGenerateSchema`event listener that will create the correct table during a schema update (or migration if using DoctrineMigrations)

### Mongo

[](#mongo)

Transport using MongoDB PHP client as transport.

Supports delayed, prioritized, expiring (TTL) and unique messages.

Use DSN with `mongodb` scheme with `/database/collection` path (database `default` and `queue` collection are used if not specified).

#### Mongodb authentication

[](#mongodb-authentication)

For authenticated database, with user configured per database, you could specify `authSource` option in DSN query string:

```
mongodb://user:pass@server:port/database?authSource=database

```

> ⚠️ NOTE that if a username is passed in DSN the `authSource` connection option is already added to the mongo uri when passing to the client library. Its value is equal to the database selected (`default` if missing).

> ℹ️ For information about the supported options in mongo DSN you can check the [official documentation page on PHP.net](https://www.php.net/mongodb-driver-manager.construct#mongodb-driver-manager.construct-urioptions)

### Null

[](#null)

Useful for testing environments, where no message should be dispatched.

Messages utilities
------------------

[](#messages-utilities)

### DelayedMessageInterface

[](#delayedmessageinterface)

Allows to specify a message delay. Implement this in your message class to delay the delivery of your message.

### TTLAwareMessageInterface

[](#ttlawaremessageinterface)

Allows the expiration of a message. Implement this interface if you want your message to expire after a given amount of time.

### UniqueMessageInterface

[](#uniquemessageinterface)

Adds a message only once in the queue. If another message with the same uniqueness key is present, the message is discarded.

Compatibility
-------------

[](#compatibility)

VersionCompatible Symfony VersionBuild Status&gt;= 2.2.0^4.4, ^5.0[![Tests](https://github.com/alekitto/messenger-extra/actions/workflows/tests.yml/badge.svg?branch=2.x)](https://github.com/alekitto/messenger-extra/actions/workflows/tests.yml)2.0, 2.1^4.3, ^5.0Not available1.x4.2.\*Not availableSymfony bundle
--------------

[](#symfony-bundle)

A symfony bundle is included in the code under /lib: Use `MessengerExtraBundle` to fully integrate this library into your symfony application. Just add this to `bundles.php`:

```
    Kcs\MessengerExtra\MessengerExtraBundle::class => ['all' => true],

```

Available transports and functionalities will be registered automatically.

---

Amazing things will come shortly.

License &amp; Contribute
------------------------

[](#license--contribute)

This library is released under MIT license.

Feel free to open an issue or a PR on GitHub. If you want to contribute to this project, you're welcome!

A.

###  Health Score

48

—

FairBetter than 94% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity40

Moderate usage in the ecosystem

Community18

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 91.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~124 days

Recently: every ~287 days

Total

18

Last Release

539d ago

Major Versions

1.x-dev → 2.0.02020-03-20

PHP version history (5 changes)1.0PHP ^7.1

2.1.2PHP ^7.1|^8.0

2.2.0PHP ^7.4|^8.0

2.4.0PHP ^7.4 || ^8.0

2.5.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/73dd7f3bebd03ec946b6b12359141ea461b770c3671acac4e8004e3c2d78e78f?d=identicon)[alekitto](/maintainers/alekitto)

---

Top Contributors

[![alekitto](https://avatars.githubusercontent.com/u/1257206?v=4)](https://github.com/alekitto "alekitto (95 commits)")[![arendjantetteroo](https://avatars.githubusercontent.com/u/713066?v=4)](https://github.com/arendjantetteroo "arendjantetteroo (4 commits)")[![thezapp01](https://avatars.githubusercontent.com/u/47940545?v=4)](https://github.com/thezapp01 "thezapp01 (2 commits)")[![cnizzardini](https://avatars.githubusercontent.com/u/171294?v=4)](https://github.com/cnizzardini "cnizzardini (1 commits)")[![Spope](https://avatars.githubusercontent.com/u/1098552?v=4)](https://github.com/Spope "Spope (1 commits)")[![vkost](https://avatars.githubusercontent.com/u/2885780?v=4)](https://github.com/vkost "vkost (1 commits)")

---

Tags

doctrine-dbalmessengerphpqueuesymfonysymfony-messenger

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kcs-messenger-extra/health.svg)

```
[![Health](https://phpackages.com/badges/kcs-messenger-extra/health.svg)](https://phpackages.com/packages/kcs-messenger-extra)
```

###  Alternatives

[symfony/doctrine-messenger

Symfony Doctrine Messenger Bridge

52899.1M296](/packages/symfony-doctrine-messenger)[symfony/redis-messenger

Symfony Redis extension Messenger Bridge

21649.7M68](/packages/symfony-redis-messenger)[symfony/amqp-messenger

Symfony AMQP extension Messenger Bridge

29260.4M125](/packages/symfony-amqp-messenger)[symfony/amazon-sqs-messenger

Symfony Amazon SQS extension Messenger Bridge

4614.6M27](/packages/symfony-amazon-sqs-messenger)[shopware/storefront

Storefront for Shopware

674.7M285](/packages/shopware-storefront)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.8M672](/packages/shopware-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
