Но агенты не выполняются, проверяют через Настройки > Настройки продукта> Агенты. Подскажите пожалуйста, как исправить?
update
Крон 100% отрабатывает. Проблема не в нем. Пробовал добавить в /home/bitrix/www/local/php_interface/cron_events.php строку с mail() php, письмо по запуску с cron пришло. Что-то с выполнением периодических агентов. Проблем с письмами нет, настроено.
Возможно вы не полностью настроили выполнение ВСЕХ агентов на кроп. А для почты достаточно просто указать define("BX_CRONTAB_SUPPORT", true); define("BX_CRONTAB", true);
Евгений Костюк написал: указать define("BX_CRONTAB_SUPPORT", true);define("BX_CRONTAB", true);
пробовал, результат тот же
Цитата
Евгений Костюк написал: А еще нужно помнить что крон нужно запускать. от пользователя bitrix. если вы от рута редактируете крон, то crontab -e -u bitrix
именно от bitrix работает
Цитата
Евгений Костюк написал: вот что там. должно быть*/1 * * * * /usr/bin/php -f /home/bitrix/www/bitrix/php_interface/cron_events.phpа у вас*/1 * * * * /usr/bin/php -f /home/bitrix/www/bitrix/modules/main/tools/cron_events.php
Евгений Костюк написал: а сам почтовый ящик вы настроили? Это меню виртуальной машина пункт 6, потом 4
Крон 100% отрабатывает. Проблема не в нем. Пробовал добавить в /home/bitrix/www/local/php_interface/cron_events.php строку с mail() php, письмо по запуску с cron пришло. Что-то с выполнением периодических агентов. Проблем с письмами нет, настроено.
Александр Гусев написал: Обобщенное решение для выполнения всех агентов из-под cron
не помогает. Агенты замерли, хоть крон и отрабатывает задачи.
удалось решить проблему? столкнулся точно с такой же проблемой. крон отрабатывает, все инструкции перелопатил и попробовал - агенты больше не запускаются
Владислав Сысойлов, проблему решил только костылем: запускаю скрипт через wget. Техподдержка знает о проблеме, но ничего не делает. Создайте тоже тикет и ссылку на этот пост.
В таких случаях всем и всегда рекомендую использовать отладку - разбирать код Битрикса, который должен работать но при этом почему-то не работает. Метод сложный, не быстрый (хотя, обычно быстрее чем ждать ответа от техподдержки) и самое главное - эффективный. Ну и скиллы повышает. При этом часто бывает такое, когда отлаживаешь код, проклинаешь Битрикс, а потом оказывается, что дело в каком-то стороннем модуле или обработчике.
Денис Сон, системный скрипт не отрабатывает через крон /home/bitrix/www/bitrix/modules/main/tools/cron_events.php (см. выше по тексту) внутри Bitrix Env. Отладкой должна заниматься команда Битрикс. Причем на нескольких ВМ ситуация такая же. Никаких пользовательских скриптов.
Столкнулся на днях с этой же проблемой. Битрикс на время разработки не обновлялся (последний раз был обновлен в мае); под конец обновили - и тоже начались проблемы с обработкой событий. Причем на одном из серверов разработки битрикс не обновлен и там проблем с отправкой по cron нет. Не претендую на правильность решения, но мне помогло изменение значения константы CACHED_b_event в файле dbconn.php. Значение по умолчанию - 3600, выставил 60. Если посмотреть код функции CheckEvents(), то там идет проверка наличия записи в кеше; похоже, что где-то в механизме кеширования произошли изменения (остальной код отличался незначительно). При значении 60 (крон работает раз в минуту) события отправляются раз в минуту-две. Если выставить секунд 50, то должно каждую минуту работать.
Почта настроена. Отправка через mail() происходит.
В проверке системы ошибки
Ошибка! Не настроен запуск cron_events.php на cron, последний агент отработал больше суток назад.
На странице Маркетинг-Email-маркетинг-Старт (/bitrix/admin/sender_statistics.php?lang=ru) ошибка (не знаю на сколько это связано, но тоже после обновления)
Код
[Error]
Object of class __PHP_Incomplete_Class could not be converted to string (0)
/home/bitrix/www/bitrix/modules/sender/lib/stat/statistics.php:180
#0: Bitrix\Sender\Stat\Statistics->initFilterFromUserOption()
/home/bitrix/www/bitrix/modules/sender/lib/stat/statistics.php:148
#1: Bitrix\Sender\Stat\Statistics->initFilterFromRequest()
/home/bitrix/www/bitrix/modules/sender/admin/statistics.php:45
#2: require(string)
/home/bitrix/www/bitrix/admin/sender_statistics.php:2
Может кому сэкономлю время. Не забудьте проверить правильный ли часовой пояс установлен в CLI версии php через которую cron запускает ваш файл. Долго отлаживал и искал проблема, а оказалось все просто: