Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Как в битрикс создать агента чтобы он раз в 10 минут запускал скрипт?

Вопрос задан: 24 мая 2026 в 03:00 | Просмотров: 59 Использованные MCP инструменты: searchDocs, liveApiFindFunction, liveApiGetClassMethods, liveApiGetClassCode, liveApiGetFunctionCode

Задайте свой вопрос — Работает AI в связке с MCP сервером. Перепроверяйте важную информацию.

Вот подробная инструкция по созданию агента, который будет запускаться каждые 10 минут.

1. Где разместить функцию агента

Функцию, которую будет выполнять агент, можно разместить двумя способами:
  • В своём модуле. Файл /bitrix/modules/[ID_МОДУЛЯ]/include.php — правильный вариант для production.
  • В init.php. Файл /bitrix/php_interface/init.php — для быстрых решений, без модуля.

2. Пример функции агента

<?php
// Файл /bitrix/php_interface/init.php
function myTenMinuteAgent() {
    // Ваш код, который нужно выполнять раз в 10 минут
    // Например, запись в лог:
    AddMessage2Log('Агент выполнен: ' . date('Y-m-d H:i:s'), 'my_module');
    // Обязательно вернуть имя функции для повторного запуска
    return "myTenMinuteAgent();";
}
?>

Важно: Функция должна возвращать строку с именем функции для следующего запуска. Если вернуть пустую строку "" — агент остановится и больше не будет запускаться.

3. Регистрация агента через CAgent::AddAgent()

Используйте метод AddAgent класса CAgent (модуль main, файл /bitrix/modules/main/classes/general/agent.php).

Чтобы агент запускался каждые 10 минут (600 секунд), зарегистрируйте его так:

<?php
CAgent::AddAgent(
    "myTenMinuteAgent();",       // (string) Имя функции для вызова
    "",                          // (string) ID модуля (пусто, если функция в init.php)
    "Y",                         // (string) "Y" — периодический, "N" — однократный
    600,                         // (int)    Интервал в секундах (600 = 10 минут)
    "",                          // (string) Дата первой проверки. Пусто — текущая дата
    "Y",                         // (string) "Y" — активен, "N" — неактивен
    "",                          // (string) Дата первого запуска. Пусто — сразу
    100                          // (int)    Сортировка (чем меньше, тем выше приоритет)
);
?>

Или с указанием модуля:

<?php
CAgent::AddAgent(
    "MyModule\\Agent::myTenMinuteAgent();",  // статический метод класса
    "my_module",                             // ID модуля
    "Y",
    600,
    "",
    "Y",
    "",
    100
);
?>

4. Где выполнить код регистрации

Есть несколько вариантов:

  • Через админку: Настройки → Настройки продукта → Агенты → нажать Добавить агента и заполнить поля.
  • Через командную PHP-строку: Настройки → Инструменты → Командная PHP-строка — выполнить код с CAgent::AddAgent(...) один раз.
  • В установочном файле модуля: В методе InstallDB() класса, наследующего Bitrix\Main\Module.

5. Важный момент — cron (рекомендуется)

По умолчанию агенты запускаются на хитах (при заходе посетителя). Для точного соблюдения интервала в 10 минут лучше настроить запуск через cron:

  1. Включите частичный перевод агентов на cron:
COption::SetOptionString("main", "agents_use_crontab", "Y");
  1. Добавьте задание в crontab на сервере:
*/10 * * * * bitrix /usr/bin/php -f /home/bitrix/www/bitrix/modules/main/tools/cron_events.php

Путь /home/bitrix/www замените на ваш DOCUMENT_ROOT.

6. Полный пример (код для вставки в админку)

Выполните этот код один раз через Командную PHP-строку в админке:

<?php
// Сначала убедитесь, что функция существует
function myTenMinuteAgent() {
    // Здесь ваша логика
    \Bitrix\Main\Diag\Debug::writeToFile(
        date('Y-m-d H:i:s'),
        "Агент сработал",
        "__agent_log.txt"
    );
    return "myTenMinuteAgent();";
}
// Регистрируем агент — каждые 10 минут
CAgent::AddAgent(
    "myTenMinuteAgent();",
    "",
    "Y",
    600,
    "",
    "Y",
    "",
    100
);
echo "Агент успешно создан!";
?>

Проверка работы агента

Проверить список агентов можно в админке: Настройки → Настройки продукта → Агенты. Найдите ваш агент в таблице, проверьте колонки Следующий запуск и Последний запуск.

Услуги Стоимость разработки на 1С-Битрикс

Стоимость разработки сайта зависит от объёма и сложности проекта. Ниже приведены ориентировочные цены, как правило не выходят за обозначенные рамки. Срок разработки зависит от сложности проекта: как правило называю сроки с запасом.
Финальная стоимость и сроки разработки обговариваются на этапе обсуждения. Скачайте опросник на разработку, заполните как можно подробнее и вышлите удобным способом. После ознакомления смогу задать уточняющие вопросы и оценить проект.
Индивидуальная разработка магазина
от 250 000 руб. от 4-х недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Подробнее
Сайт на готовом решении 1С-Битрикс
от 50 000 руб. от 5-ти дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Подробнее
Мобильное приложение
от 300 000 руб. от 4-х недель

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Подробнее
Сайт компании
от 120 000 руб. от 2-х недель

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Подробнее
Инфоресурс
от 100 000 руб. от 3-х недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

Подробнее
Поддержка и доработки проектов
от 3 000 руб. от 1 часа

Выполнение доработок любой сложности. Поддержка, модернизация и расширение функционала существующих проектов. Решение задач: от мелких правок вёрстки до разработки новых модулей.

Подробнее

Включено в стоимость разработки:

  • Лицензия на 1С-Битрикс необходимой редакции, дополнительные модули, для реализации функционала и видео-инструкции по работе с готовым проектом
  • Оптимизация программной части проекта и конфигурации сервера под максимальную скорость работы. Базовая СЕО оптимизация и добавление сайта в поисковые системы.

Блог-note Заметки по 1С-Битрикс