PHPackages                             yngc0der/bitrix-rabbitmq - 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. yngc0der/bitrix-rabbitmq

AbandonedArchivedBitrix-d7-module[Queues &amp; Workers](/categories/queues)

yngc0der/bitrix-rabbitmq
========================

v0.1.0(5y ago)101096MITPHPPHP ^7.1.3

Since Dec 7Pushed 5y agoCompare

[ Source](https://github.com/yngc0der/bitrix-rabbitmq)[ Packagist](https://packagist.org/packages/yngc0der/bitrix-rabbitmq)[ RSS](/packages/yngc0der-bitrix-rabbitmq/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

yngc0der.rabbitmq
=================

[](#yngc0derrabbitmq)

О проекте
---------

[](#о-проекте)

Модуль включает в себя обмен сообщениями в вашем php-приложении через [RabbitMQ](http://www.rabbitmq.com/)с использованием библиотеки [php-amqplib](http://github.com/php-amqplib/php-amqplib).

Пакет реализует шаблоны обмена сообщениями, приведенными в библиотеке [Thumper](https://github.com/php-amqplib/Thumper), что позволяет сделать публикацию сообщений в RabbitMQ из вашего контроллера очень простой:

```
use Bitrix\Main\DI\ServiceLocator;

$msg = ['user_id' => 1235, 'image_path' => '/path/to/new/pic.png'];
ServiceLocator::getInstance()->get('rabbitmq.upload_picture_producer')->publish(serialize($msg));
```

Для получения 50-ти сообщений из очереди `upload_pictures`, вы просто запускаете слушатель:

```
use Bitrix\Main\DI\ServiceLocator;

$consumer = ServiceLocator::getInstance()->get('rabbitmq.upload_picture_consumer');
$consumer->consume(50);
```

Данные примеры требуют запущенного сервера RabbitMQ.

Минимальные требования
----------------------

[](#минимальные-требования)

- `php-7.1.3` или выше
- модуль `main v20.5.400` или выше

Установка
---------

[](#установка)

Загрузите пакет, используя пакетный менеджер composer, либо вручную:

```
$ composer require yngc0der/bitrix-rabbitmq
```

Установите модуль "yngc0der.rabbitmq" в административном интерфейсе сайта `bitrix/admin/partner_modules.php`

Добавьте следующий код в ваш `init.php`:

```
use Bitrix\Main\Loader;
use Bitrix\Main\DI\ServiceLocator;

if (Loader::includeModule('yngc0der.rabbitmq')) {
    ServiceLocator::getInstance()->get('rabbitmq.service_loader')->load();
}
```

Использование
-------------

[](#использование)

Конфигурация идентична родительскому пакету. Настройка производится посредством правки файлов `bitrix/.settings.php`и `bitrix/.settings_extra.php`:

```
return [
    'rabbitmq' => [
        'value' => [
            'connections' => [
                'default' => [
                    'host' => '172.17.0.2',
                    'port' => 5672,
                    'user' => 'guest',
                    'password' => 'guest',
                    'vhost' => '/',
                    'lazy' => false,
                    'connection_timeout' => 3.0,
                    'read_write_timeout' => 3.0,
                    'keepalive' => false,
                    'heartbeat' => 0,
                    'use_socket' => true,
                ],
            ],
            'producers' => [
                'upload_picture' => [
                    'connection' => 'default',
                    'exchange_options' => [
                        'name' => 'upload_picture',
                        'type' => 'direct',
                    ],
                ],
            ],
            'consumers' => [
                'upload_picture' => [
                    'connection' => 'default',
                    'exchange_options' => [
                        'name' => 'upload_picture',
                        'type' => 'direct',
                    ],
                    'queue_options' => [
                        'name' => 'upload_picture',
                    ],
                    'callback' => 'UploadPictureConsumer',
                ],
            ],
        ],
        'readonly' => false,
    ],
];
```

Пример обработчика сообщений:

```
// UploadPictureConsumer.php

use Yngc0der\RabbitMq\RabbitMq\ConsumerInterface;
use PhpAmqpLib\Message\AMQPMessage;

class UploadPictureConsumer implements ConsumerInterface
{
    public function execute(AMQPMessage $msg)
    {
        echo ' [x] Received ', $msg->body, "\n";
    }
}
```

Интеграция с CLI
----------------

[](#интеграция-с-cli)

Если у вас установлен модуль [yngc0der.cli](https://github.com/yngc0der/bitrix-cli), вам будут доступны некоторые команды, которые упрощают работу:

- `rabbitmq:consumer` Executes a consumer
- `rabbitmq:delete` Delete a consumer's queue
- `rabbitmq:purge` Purge a consumer's queue
- `rabbitmq:setup-fabric` Sets up the Rabbit MQ fabric
- `rabbitmq:stdin-producer` Executes a producer that reads data from STDIN

Адаптировано к Bitrix
---------------------

[](#адаптировано-к-bitrix)

- Connection (Stream, Socket, Lazy, LazySocket)
- Connection factory
- Binding
- Producer
- Consumer
- Parts holder
- Fallback producer
- Multi-consumer
- Dynamic consumer
- Batch consumer
- Anon consumer
- Rpc client
- Rpc server
- Logged channel

Credits
-------

[](#credits)

Модуль и документация базируется на [RabbitMqBundle](https://github.com/php-amqplib/RabbitMqBundle). Там же вы можете найти подробную информацию о его использовании.

###  Health Score

25

—

LowBetter than 36% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor2

2 contributors hold 50%+ of commits

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

Unknown

Total

1

Last Release

2026d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/13169784?v=4)[RG.](/maintainers/yngc0der)[@yngc0der](https://github.com/yngc0der)

---

Top Contributors

[![videlalvaro](https://avatars.githubusercontent.com/u/30834?v=4)](https://github.com/videlalvaro "videlalvaro (203 commits)")[![skafandri](https://avatars.githubusercontent.com/u/659656?v=4)](https://github.com/skafandri "skafandri (39 commits)")[![stloyd](https://avatars.githubusercontent.com/u/67402?v=4)](https://github.com/stloyd "stloyd (34 commits)")[![icolomina](https://avatars.githubusercontent.com/u/1428686?v=4)](https://github.com/icolomina "icolomina (18 commits)")[![come](https://avatars.githubusercontent.com/u/347826?v=4)](https://github.com/come "come (11 commits)")[![sixdayz](https://avatars.githubusercontent.com/u/1536888?v=4)](https://github.com/sixdayz "sixdayz (8 commits)")[![trompette](https://avatars.githubusercontent.com/u/181746?v=4)](https://github.com/trompette "trompette (8 commits)")[![vicb](https://avatars.githubusercontent.com/u/248818?v=4)](https://github.com/vicb "vicb (7 commits)")[![alexbumbacea](https://avatars.githubusercontent.com/u/724634?v=4)](https://github.com/alexbumbacea "alexbumbacea (7 commits)")[![igrizzli](https://avatars.githubusercontent.com/u/960937?v=4)](https://github.com/igrizzli "igrizzli (6 commits)")[![joelwurtz](https://avatars.githubusercontent.com/u/90466?v=4)](https://github.com/joelwurtz "joelwurtz (6 commits)")[![TwistedLogic](https://avatars.githubusercontent.com/u/105908?v=4)](https://github.com/TwistedLogic "TwistedLogic (6 commits)")[![bburnichon](https://avatars.githubusercontent.com/u/2437286?v=4)](https://github.com/bburnichon "bburnichon (6 commits)")[![steveYeah](https://avatars.githubusercontent.com/u/1618633?v=4)](https://github.com/steveYeah "steveYeah (5 commits)")[![fatmuemoo](https://avatars.githubusercontent.com/u/933512?v=4)](https://github.com/fatmuemoo "fatmuemoo (5 commits)")[![stof](https://avatars.githubusercontent.com/u/439401?v=4)](https://github.com/stof "stof (4 commits)")[![igaponov](https://avatars.githubusercontent.com/u/4271889?v=4)](https://github.com/igaponov "igaponov (4 commits)")[![ikwattro](https://avatars.githubusercontent.com/u/1222009?v=4)](https://github.com/ikwattro "ikwattro (4 commits)")[![goetas](https://avatars.githubusercontent.com/u/776743?v=4)](https://github.com/goetas "goetas (4 commits)")[![caciobanu](https://avatars.githubusercontent.com/u/3765656?v=4)](https://github.com/caciobanu "caciobanu (4 commits)")

### Embed Badge

![Health badge](/badges/yngc0der-bitrix-rabbitmq/health.svg)

```
[![Health](https://phpackages.com/badges/yngc0der-bitrix-rabbitmq/health.svg)](https://phpackages.com/packages/yngc0der-bitrix-rabbitmq)
```

###  Alternatives

[symfony/messenger

Helps applications send and receive messages to/from other applications or via message queues

1.1k128.6M1.4k](/packages/symfony-messenger)[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.6k38.2k](/packages/matomo-matomo)[symfony/amazon-sqs-messenger

Symfony Amazon SQS extension Messenger Bridge

4613.5M20](/packages/symfony-amazon-sqs-messenger)[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.3k10](/packages/helsingborg-stad-municipio)[hyperf/amqp

A amqplib for hyperf.

231.2M66](/packages/hyperf-amqp)

PHPackages © 2026

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