- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/pushwatchingmanager.php
- Класс: BitrixCalendarSyncManagersPushWatchingManager
- Вызов: PushWatchingManager::doRenewWatchChannels
private function doRenewWatchChannels(): string
{
$pushChannels = PushTable::getList([
'filter' => [
'ENTITY_TYPE' => [self::TYPE_LINK, self::TYPE_CONNECTION],
'<=EXPIRES' => (new DateTime())->add('+1 day'),
],
'order' => [
'EXPIRES' => 'ASC',
],
'limit' => self::RENEW_LIMIT,
])->fetchCollection();
foreach ($pushChannels as $pushChannelEO)
{
$pushChannel = (new BuilderPushFromDM($pushChannelEO))->build();
if ($pushChannel->getEntityType() === self::TYPE_LINK)
{
$this->renewSectionPush($pushChannel);
}
elseif ($pushChannel->getEntityType() === self::TYPE_CONNECTION)
{
$this->renewConnectionPush($pushChannel);
}
}
if ($pushChannels->count() < self::RENEW_LIMIT)
{
return self::RESULT_STATUS['done'];
}
return self::RESULT_STATUS['next'];
}