File tree Expand file tree Collapse file tree 5 files changed +85
-5
lines changed Expand file tree Collapse file tree 5 files changed +85
-5
lines changed Original file line number Diff line number Diff line change 2525 'className ' => \Proklung \Redis \Samples \FooRabbitProcessor::class,
2626 'tags ' => ['name ' => 'enqueue.topic_subscriber ' , 'client ' => 'rabbit ' ]
2727 ],
28+ // Пример клиента на Dbal
29+ 'Proklung\Redis\Samples\FooDbalProcessor ' => [
30+ 'className ' => \Proklung \Redis \Samples \FooDbalProcessor::class,
31+ 'tags ' => ['name ' => 'enqueue.topic_subscriber ' , 'client ' => 'dbal ' ]
32+ ],
2833 ],
2934 'readonly ' => false ,
3035 ],
Original file line number Diff line number Diff line change 11<?php
22
33$ arModuleVersion = [
4- 'VERSION ' => '1.2.0 ' ,
5- 'VERSION_DATE ' => '2021-07-16 '
4+ 'VERSION ' => '1.2.1 ' ,
5+ 'VERSION_DATE ' => '2021-07-18 '
66];
Original file line number Diff line number Diff line change 11<?php
22
3- $ MESS ['REDIS_MODULE_NAME ' ] = 'Очереди на Redis (и на RabbitMq, и Filesystem) ' ;
4- $ MESS ['REDIS_MODULE_DESCRIPTION ' ] = 'Очереди на Redis (и на RabbitMq, и Filesystem) ' ;
3+ $ MESS ['REDIS_MODULE_NAME ' ] = 'Очереди на Redis (и на RabbitMq, и Filesystem, и через DBAL ) ' ;
4+ $ MESS ['REDIS_MODULE_DESCRIPTION ' ] = 'Очереди на Redis (и на RabbitMq, и Filesystem, и через DBAL ) ' ;
55$ MESS ['REDIS_MODULE_PARTNER_NAME ' ] = 'ProklUng ' ;
66$ MESS ['REDIS_MODULE_PARTNER_URI ' ] = 'https://github.com/ProklUng/bitrix.redis.module ' ;
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Proklung \Redis \Samples ;
4+
5+ use Interop \Queue \Message ;
6+ use Interop \Queue \Context ;
7+ use Interop \Queue \Processor ;
8+ use Enqueue \Client \TopicSubscriberInterface ;
9+
10+ /**
11+ * Class FooDbalProcessor
12+ * @package Proklung\Redis\Samples
13+ */
14+ class FooDbalProcessor implements Processor, TopicSubscriberInterface
15+ {
16+ public function process (Message $ message , Context $ session )
17+ {
18+ file_put_contents ($ _SERVER ['DOCUMENT_ROOT ' ] . '/dbal-bitrix.log ' , $ message ->getBody ());
19+
20+ return self ::ACK ;
21+ // return self::REJECT; // when the message is broken
22+ // return self::REQUEUE; // the message is fine but you want to postpone processing
23+ }
24+
25+ public static function getSubscribedTopics ()
26+ {
27+ return ['dbal-event ' ];
28+ }
29+ }
Original file line number Diff line number Diff line change 55- Redis
66- RabbitMq
77- Filesystem
8-
8+ - DBAL
99## Установка
1010
1111composer.json основного проекта:
@@ -237,6 +237,52 @@ php bin/enqueue enqueue:consume --client=rabbit
237237
238238Где ` rabbit ` - название клиента, определяемое в ` .settings.php ` Битрикса.
239239
240+ ### DBAL
241+
242+ #### Установка
243+
244+ Дабы не отягощать модуль зависимостями - ` enqueue/dbal ` не включен в стандартный ` composer.json ` . Для использования
245+ этого транспорта нужно самолично запустить ` composer require enqueue/dbal ` в конечном проекте.
246+
247+ #### Настройка
248+
249+ ` .settings.php ` Битрикса:
250+
251+ ``` php
252+ // ... предыдущее
253+
254+ 'proklung.redis' => [
255+ 'value' => [
256+ 'enqueue' => [
257+ // ... предыдущее
258+ 'dbal' => [
259+ 'transport' => 'mysql://root:@localhost/bitrix.loc',
260+ 'client' => [
261+ 'default_queue' => 'default',
262+ 'prefix' => 'dbal',
263+ 'app_name' => 'fedy',
264+ ],
265+ ],
266+ ]
267+ ]
268+ ],
269+ ```
270+
271+ Все по аналогии с Redis или файловой системой. Важно первый раз не забыть запустить ` setup-broker ` (будет создана
272+ таблица ` enqueue ` ):
273+
274+ ``` bash
275+ php bin/enqueue enqueue:setup-broker --client=dbal
276+ ```
277+
278+ #### Получение сообщений
279+
280+ ``` bash
281+ php bin/enqueue enqueue:consume --client=dbal
282+ ```
283+
284+ Где ` dbal ` - название клиента, определяемое в ` .settings.php ` Битрикса.
285+
240286### Файловая система
241287
242288#### Настройка
You can’t perform that action at this time.
0 commit comments