IsAdmin()) die("Доступ запрещен"); $log = []; $apiFile = $_SERVER["DOCUMENT_ROOT"]."/local/modules/conmed.authserver/lib/api.php"; // 1. ОБНОВЛЯЕМ ФАЙЛ API.PHP (чтобы метод точно был в классе) $apiCode = <<<'PHP' [' $date7], 'select' => ['ID']]); while ($el = $rs->fetch()) { $dcSec::delete($el['ID']); } // 2. Очистка аудита (храним 60 дней) $date60 = \Bitrix\Main\Type\DateTime::createFromTimestamp(time() - 86400 * 60); $rs = $dcAud::getList(['filter' => [' $date60], 'select' => ['ID']]); while ($el = $rs->fetch()) { $dcAud::delete($el['ID']); } // 3. Очистка протухших кодов авторизации (храним 1 час для истории, потом удаляем) $date1h = \Bitrix\Main\Type\DateTime::createFromTimestamp(time() - 3600); $rs = $dcCodes::getList(['filter' => [' $date1h], 'select' => ['ID']]); while ($el = $rs->fetch()) { $dcCodes::delete($el['ID']); } } catch (\Exception $e) { // Ошибки можно писать в системный лог php если нужно } return "\Conmed\Authserver\Api::cleanLogsAgent();"; } } PHP; if (file_put_contents($apiFile, $apiCode)) { $log[] = "Файл lib/api.php обновлен (метод cleanLogsAgent добавлен)."; } // 2. РЕГИСТРАЦИЯ АГЕНТА В БИТРИКСЕ // Сначала удаляем старый, если он завис \CAgent::RemoveAgent("\Conmed\Authserver\Api::cleanLogsAgent();", "conmed.authserver"); // Добавляем новый // Параметры: Метод, Модуль, Периодичность (N=раз в интервал), Интервал (86400 = 24 часа) \CAgent::AddAgent( "\Conmed\Authserver\Api::cleanLogsAgent();", "conmed.authserver", "N", 86400, "", "Y", \Bitrix\Main\Type\DateTime::createFromTimestamp(time() + 60) // Первый запуск через минуту ); $log[] = "Агент очистки логов успешно зарегистрирован в системе."; echo "

Результат установки:

"; echo "
  • " . implode("
  • ", $log) . "
"; echo "

Проверить работу агента можно в админке: Настройки -> Настройки продукта -> Агенты

";