Вначале немного представлюсь. Меня зовут Рыжонин Николай, в "1С-Битрикс" я курирую направление производительности продуктов компании. Если у вас есть вопросы, предложения или пожелания, касающиеся производительности, обращайтесь e-mail: rns@bitrix.ru
Данная тема уже не раз подымалась (например тут), но тем не менее все таки решил опубликовать обобщенное решения для выполнения всех агентов из под cron.
Для начала полностью отключим выполнение агентов на хите. Для этого выполним следующую команду в php консоли.
После этого все агенты и отправка системных событий будут обрабатывается из под cron, раз в 5 минут. Чтобы не увеличивалась очередь отправки почтовых сообщений, советую изменить параметр отвечающий за количество почтовых событий обрабатываемых за раз. Для этого выполняем в php консоли следующую команду
Сделал по инструкции, при ручном запуске файла выдаёт ошибку: PHP Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /bitrix/modules/main/lib/loader.php on line 578
Силуянов Александр, Да. Так и будет, потому что с 99% вероятностью Вам нужен не crontab root`а, crontab пользователя под которым установлена система. Чаще всего это bitrix, но может быть что угодно. В зависимости от того как установили. У меня это название сайта. Тогда команда должна выглядеть так: crontab -u <имя_пользователя> -e Где -u - это ключ вызывающий crontab конкретного пользователя -e - это ключ, который говорит о том, что Вы хотите его отредактировать. Если хотите через nano, то должно быть так EDITOR=nano crontab -u <имя_пользователя> -e
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».