GroupQueueService::isReleased

  1. Bitrix24 API (v. 23.675.0)
  2. sender
  3. GroupQueueService
  4. isReleased
  • Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/service/groupqueueservice.php
  • Класс: Bitrix\Sender\Service\GroupQueueService
  • Вызов: GroupQueueService::isReleased
public function isReleased(int $groupId): bool
{
	$entities = GroupQueueTable::query()
		->setSelect([
			'ID',
			'DATE_INSERT',
		])
		->where('GROUP_ID', $groupId)
		->exec()
		->fetchAll();
	
	foreach ($entities as $key =>$entity)
	{
		$dateTime = DateTime::createFromPhp(new \DateTime());
		
		if (!$entity['DATE_INSERT'] || abs($dateTime->getTimestamp() - $entity['DATE_INSERT']->getTimestamp()) > self::LIFETIME)
		{
			try
			{
				GroupQueueTable::delete($entity['ID']);
			} catch (\Exception $e)
			{
			}
			unset($entities[$key]);
		}
	}
	
	if (empty($entities))
	{
		GroupTable::update($groupId, [
			'fields' => ['STATUS' => GroupTable::STATUS_DONE]
		]);
	}
	
	return empty($entities);
}

Добавить комментарий