1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
examplerule.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Calendar\Core\Queue\Rule\Rules
;
4
5
use
Bitrix
;
6
use
Bitrix\Calendar\Core\Queue\Interfaces
;
7
use
Bitrix\Calendar\Core\Queue\Message\Dictionary
;
8
use
Bitrix\Calendar\Core\Queue\Queue\Queue
;
9
use
Bitrix\Calendar\Core\Queue\Queue\QueueFactory
;
10
use
Bitrix\Calendar\Core\Queue\Queue\QueueRegistry
;
11
12
class
ExampleRule
extends
DbRule
13
{
14
20
protected
function
getTargetQueue
(
Interfaces
\
Message
$message
): ?Queue
21
{
22
$routingKey =
$message
->getHeaders()[Dictionary::HEADER_KEYS[
'routingKey'
]] ??
null
;
23
if
($routingKey ===
'example.test'
)
24
{
25
$queue = (
new
QueueFactory
())->getById(QueueRegistry::QUEUE_LIST[
'EventDelayedSync'
]);
26
return
$queue;
27
}
28
29
return
null
;
30
}
31
37
protected
function
getMessageHash
(
Interfaces
\
Message
$message
): string
38
{
39
return
'ExamplePrefix_'
.
$message
->getBody()[
'exampleField'
];
40
}
41
}
Bitrix\Calendar\Core\Queue\Message\Dictionary
Определения
dictionary.php:6
Bitrix\Calendar\Core\Queue\Queue\QueueFactory
Определения
queuefactory.php:6
Bitrix\Calendar\Core\Queue\Queue\QueueRegistry
Определения
queueregistry.php:7
Bitrix\Calendar\Core\Queue\Rule\Rules\DbRule
Определения
dbrule.php:12
Bitrix\Calendar\Core\Queue\Rule\Rules\ExampleRule
Определения
examplerule.php:13
Bitrix\Calendar\Core\Queue\Rule\Rules\ExampleRule\getMessageHash
getMessageHash(Interfaces\Message $message)
Определения
examplerule.php:37
Bitrix\Calendar\Core\Queue\Rule\Rules\ExampleRule\getTargetQueue
getTargetQueue(Interfaces\Message $message)
Определения
examplerule.php:20
Bitrix\Calendar\Core\Queue\Interfaces\Message
Определения
message.php:16
Bitrix\Calendar\Core\Queue\Interfaces\Queue
Определения
queue.php:5
Bitrix\Calendar\Core\Queue\Interfaces
Определения
consumer.php:3
Bitrix\Calendar\Core\Queue\Rule\Rules
Определения
dbrule.php:3
Bitrix
$message
$message
Определения
payment.php:8
bitrix
modules
calendar
lib
core
queue
rule
rules
examplerule.php
Создано системой
1.14.0