1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
pushdelayedconnection.php
См. документацию.
1<?php
2
3namespace Bitrix\Calendar\Core\Queue\Processor;
4
5use Bitrix\Calendar\Core\Queue\Interfaces;
6use Bitrix\Calendar\Internals\PushTable;
7use Bitrix\Calendar\Sync\Builders\BuilderPushFromDM;
8use Bitrix\Calendar\Sync\Managers\PushManager;
9use Bitrix\Calendar\Sync;
10use Bitrix\Main\ArgumentException;
11use Bitrix\Main\ObjectPropertyException;
12use Bitrix\Main\SystemException;
13
15{
21 public function process(Interfaces\Message $message): string
22 {
23 $data = $message->getBody();
24
25 $connectionId = $data[Sync\Push\Dictionary::PUSH_TYPE['connection']] ?? null;
26
27 if (empty($connectionId))
28 {
29 return self::REJECT;
30 }
31
32 try
33 {
34 $push = PushTable::getById([
35 'ENTITY_TYPE' => PushManager::TYPE_CONNECTION,
36 'ENTITY_ID' => $connectionId,
37 ])->fetchObject();
38 if ($push)
39 {
40 $result = (new PushManager())->handlePush(
41 $push->getChannelId(),
42 $push->getResourceId()
43 );
44 }
45
46 return self::ACK;
47 }
48 catch (\Exception $e)
49 {
50 return self::REJECT;
51 }
52 }
53}
$data['IS_AVAILABLE']
Определения .description.php:13
$result
Определения get_property_values.php:14
$message
Определения payment.php:8