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)2164.3k↓35.1%10[1 PRs](https://github.com/alekitto/messenger-extra/pulls)MITPHPPHP ^8.1CI passing

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 1mo 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

49

—

FairBetter than 95% of packages

Maintenance43

Moderate activity, may be stable

Popularity40

Moderate usage in the ecosystem

Community18

Small or concentrated contributor base

Maturity77

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

448d 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

53186.7M156](/packages/symfony-doctrine-messenger)[symfony/amqp-messenger

Symfony AMQP extension Messenger Bridge

29555.6M59](/packages/symfony-amqp-messenger)[symfony/redis-messenger

Symfony Redis extension Messenger Bridge

21846.4M33](/packages/symfony-redis-messenger)[symfony/amazon-sqs-messenger

Symfony Amazon SQS extension Messenger Bridge

4612.5M15](/packages/symfony-amazon-sqs-messenger)[zenstruck/messenger-monitor-bundle

Batteries included UI to monitor your Messenger workers, transports, schedules, and messages.

261561.9k5](/packages/zenstruck-messenger-monitor-bundle)[stackkit/laravel-google-cloud-tasks-queue

Google Cloud Tasks queue driver for Laravel

84570.1k](/packages/stackkit-laravel-google-cloud-tasks-queue)

PHPackages © 2026

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