Агенты Битрикс не выполняются обычно по одной из трёх причин: они работают «на хитах», а посетителей на сайте мало; очередь заблокирована зависшим агентом; после переезда на другой хостинг не перенастроен запуск по cron. Симптомы всегда похожие: не уходят письма и рассылки, встал обмен с 1С, не обновляются выгрузки, не чистится кэш. Надёжное лечение одно - перевести выполнение агентов на cron и разобрать зависшие задачи.
Почему агенты «на хитах» ненадёжны
По умолчанию Битрикс проверяет расписание агентов, когда на сайт заходит посетитель. Есть трафик - агенты тикают; ночью и в выходные - стоят. На малопосещаемом корпоративном сайте агент «раз в 15 минут» может реально выполняться раз в несколько часов, а тяжёлый агент вдобавок тормозит загрузку страницы тому посетителю, на чьём хите он запустился. Поэтому для боевых сайтов рекомендация одна: переводить агенты на cron - системный планировщик сервера, который не зависит от посещаемости.
Почему агенты Битрикс не выполняются: 5 причин
- Нет хитов - агенты на хитах ждут посетителей, а их мало
- Зависший агент - задача с признаком «выполняется» блокирует очередь остальных
- Ошибка внутри агента - фатальный сбой кода обрывает обработку, причина видна в error_log
- Cron не настроен или потерян при переезде - задания планировщика не переносятся вместе с файлами сайта
- Сбитое время на сервере - дата следующего запуска оказывается в будущем, и агенты «ждут» часами
Как перевести агенты Битрикс на cron: пошагово
- Включите режим работы на кронеОтключите проверку агентов на хитах: в настройках главного модуля или константой BX_CRONTAB_SUPPORT в dbconn.php - зависит от версии платформы.
- Добавьте задание в планировщик хостингаРаз в минуту или раз в 5 минут запускать через php-cli файл bitrix/modules/main/tools/cron_events.php.
- Проверьте версию PHP в заданииИнтерпретатор командной строки на хостинге может отличаться от php сайта: указывайте в задании тот же, что использует сайт.
- Убедитесь, что расписание ожилоВ списке агентов даты следующего запуска должны обновляться каждые несколько минут.
- Разберите зависшие агентыЗадачи с датой запуска в прошлом и признаком выполнения: снимите признак, запустите вручную и смотрите error_log, если агент падает снова.
Настроим агенты и фоновые задачи
Переведём агенты на cron, разберём зависшие, починим рассылки и обмен с 1С, поставим мониторинг. Сайт начнёт делать всё сам - как и задумано.
Письма и рассылки не уходят: агенты или почта?
Если письма перестали уходить, вопрос всегда один: они не создаются или не доставляются? Загляните в очередь почтовых событий в админке. Очередь необработанных событий растёт - не работает агент отправки: чините по шагам выше. События обработаны, а писем нет - проблема в доставке: смотрите разборы о пропавших заявках и о письмах в спаме.
Сколько стоит настройка и когда она окупается
Перевод агентов на cron с разбором зависших - 1-2 часа работы специалиста, 50-100 BYN. Окупается первым же невылетевшим обменом: одна «молчаливая» неделя без выгрузки заказов или обновления остатков стоит бизнесу заметно дороже. Для сайтов на абонентской поддержке настройка и мониторинг агентов входят в тариф.
Частые вопросы об агентах Битрикс
Как посмотреть, какие агенты есть на сайте и работают ли они?
Обмен с 1С перестал работать после переезда - это агенты?
Можно ли удалить зависший агент?
Чем агенты отличаются от заданий cron?
Фоновые задачи - это техника: она либо настроена и работает годами, либо «иногда само не срабатывает». Если сайт должен рассылать, обмениваться и обновляться без напоминаний - закажите доработку сайта в Alavir: настроим агенты, cron и мониторинг, покажем, как это контролировать. С 2013 года, 450+ проектов на 1С-Битрикс, смета бесплатно за 1 день.












