Middle Механизмы ядра Рекомендуется

Агенты

Агенты выполняют роль встроенного планировщика периодических задач платформы, запуская PHP-код по расписанию и возвращая строку вызова для следующей итерации. Чтобы не замедлять открытие страниц посетителям, выполнение агентов переводят на системный cron, а длительные операции защищают от наложения именованными блокировками Connection::lock().

Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.

Что нужно понимать

  • 1
    Создание агента
  • 2
    Периодические и однократные
  • 3
    Отладка агентов
  • 4
    cron vs hit

Материалы

Официальная документация

Проверь себя

Заказчик жалуется, что агент синхронизации остатков ночью не срабатывает, а днём всё в порядке. В чём дело?

Агенты по умолчанию запускаются на хитах: ночью нет посетителей — нет запусков. Решение — перевести агентов на cron через cron_events.php и опции agents_use_crontab и check_agents по инструкции из документации.

Чем непериодический агент отличается от периодического и когда нужен именно он?

У периодического следующий запуск считается от предыдущего старта, у непериодического — от момента окончания работы. Для тяжёлых агентов нужен непериодический, иначе при долгой работе запуски накладываются.

Импорт в агенте идёт полчаса, и cron раз в десять минут запускает его повторно. Почему встроенная защита не помогла?

Перед выполнением ядро сдвигает DATE_CHECK на LOCK_TIME, 600 секунд, и защищает только от повторного запуска в эти десять минут. Дольше — нужна именованная блокировка Connection::lock() внутри самого агента.

Функция агента отработала, но агент исчез из списка. Что вернула функция?

Пустую строку. Функция агента обязана вернуть строку с кодом следующего вызова; пустой результат ядро понимает как остановку и удаляет агент.

Не сходится?

Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.

Знаете материал лучше?

Предложите ссылку: после проверки она появится в этом разделе.

Войти, чтобы предложить
Поделиться в Telegram
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…
Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти