• Модуль: clouds
  • Путь к файлу: ~/bitrix/modules/clouds/classes/general/failover.php
  • Класс: CCloudFailover
  • Вызов: CCloudFailover::queueAgent
static function queueAgent()
{
	if (static::lock())
	{
		$etime = time() + COption::GetOptionInt("clouds", "queue_agent_time");
		$deleteStatus = CCloudFailover::ST_CONTINUE;
		$copyStatus = CCloudFailover::ST_CONTINUE;
		do
		{
			if ($deleteStatus === CCloudFailover::ST_CONTINUE)
			{
				$deleteStatus = static::executeDeleteQueue();
				if ($deleteStatus === CCloudFailover::ST_FAILOVER)
				{
					break;
				}
			}

			if ($copyStatus === CCloudFailover::ST_CONTINUE)
			{
				$copyStatus = static::executeCopyQueue();
				if ($copyStatus === CCloudFailover::ST_FAILOVER)
				{
					break;
				}
			}

			if (
				($deleteStatus !== CCloudFailover::ST_CONTINUE)
				&& ($copyStatus !== CCloudFailover::ST_CONTINUE)
			)
			{
				break;
			}
		}
		while (time() < $etime);
	}
	static::unlock();

	return 'CCloudFailover::queueAgent();';
}