• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/countersprocessorhomeostasis.php
  • Класс: CTaskCountersProcessorHomeostasis
  • Вызов: CTaskCountersProcessorHomeostasis::onExpirityRecountAgent
static function onExpirityRecountAgent()
{
	$optionCountersBrokeDetected = (int) COption::GetOptionString('tasks', '~counters_broke_detected', -1, $siteId = '');
	$lastRecalculationTimestamp  = (int) COption::GetOptionString('tasks', '~counters_last_recalculation', -1, $siteId = '');

	if ($optionCountersBrokeDetected === 1)
		$isCountersBrokeDetected = true;
	else
		$isCountersBrokeDetected = false;

	$secondsSinceLastRecalculation = time() - $lastRecalculationTimestamp;

	//_dump_r('===============');
	//_dump_r('BD: '.$isCountersBrokeDetected);
	//_dump_r($secondsSinceLastRecalculation);

	// if broke was detected and recalculator is not working now, and also last time was more than 15 minutes ago...
	if ($isCountersBrokeDetected && ($secondsSinceLastRecalculation > 900) && CTaskCountersProcessorInstaller::checkProcessIsNotActive())
	{
		CTaskCountersProcessorInstaller::runSetup();
	}
}