CRON – это инструмент, который помогает сайту автоматически выполнять определённые задачи в заданное время. Представьте, что вам нужно, чтобы что-то запускалось по расписанию, например, каждый день в одно и то же время.
Во многих плагинах Bodysite есть задачи, которые нужно выполнять по расписанию, например, отправлять остатки в маркетплейсы, обновлять фиды с товарами, обновлять валюты и многое другое. Для этого в интерфейсе выведены команды для Cron, которые нужно скопировать в планировщик. Команда выглядит следующим образом (пример):
/usr/bin/php /home/superuser/site.ru/www/cli.php ozon updateStocksByOzonProducts
Разберём её по частям:
1) /usr/bin/php - это путь к интерпретатору PHP. Он указывает, что команда должна быть выполнена с использованием PHP.
Эта запись не у всех сайтов одинаковая, пути до интерпретатора PHP могут различаться в зависимости от версии PHP и конфигурации системы. Вот некоторые примеры возможных путей до интерпретатора PHP, включая указание версии:
Общий путь без указания версии:
Пути с указанием версии:
Пути для специфических установок и окружений:
Если в вашем случае простое указание php или /usr/bin/php не приводит к корретному запуску скрипта, то нужно указать путь с учётом версии PHP, на которой работает сайт. Узнать версию можно в приложении "Настройки":

Или в приложении "Логи", иконка "Конфигурация PHP".
2) /home/superuser/site.ru/www/cli.php - это путь к PHP-скрипту, который должен быть выполнен. В данном случае это скрипт cli.php, расположенный в указанной директории. В большинстве случаев, в команде этот путь указан верно и не требует изменений.
3) ozon - идентификатор приложения, в котором осуществляется запуск. Часто это shop (для плагинов приложения "магазин")
4) updateStocksByOzonProducts - это название функции, которая должна выполняться. Нужно строго указывать ту функцию, которая указана в плагине.
Если вам нужно добавить задание в Cron - это можно сделать тремя способами:
Важно добавлять задание именно от того пользователя, на котором работает сайт. Во многих плагинах мы выводим его наименование, пример:

Не добавляйте задание от пользователя root! Подробнее об этом.
Частота запуска должна определяться вами, исходя из процесса, для которого создана команда и его тяжеловестности.
Обновление остатков должно производиться относительно количества заказов, которые совершаются в магазине. Если у вас один-два заказа в день, обновлять остатки каждые 5 минут не нужно.
Если процесс тяжеловесный, например, обновление цен для десятков тысяч позиций, то тоже нет смысла ставить запуск на каждые несколько минут, поскольку будет не успевать завершиться предыдущий запуск!
Обновлять Sitemap и страницы SEO-фильтра не имеет смысла чаще раза в сутки.
Создание задание на примере VDS, находящегося на хостинге Netangels:
1. Авторизовываемся, выбираем пункт VDS

2. Выберите VDS сайта, для которого вы хотите создать задание и кликните на него:

Находясь на странице выбранного VDS выберите в левом меню пункт "Управление VDS"

Далее перейдите на вкладку Cron и нажмите "Добавить задание"

Вставьте ранее скопированную команду. Задайте частоту выполнения:

Нажмите "Создать задание". Оно появится в списке.

В левом меню найдите пункт "Планировщик Cron"

В правом верхнем углу нажмите кнопку "Создать задание"

Вставьте скопированную команду и укажите нужную частоту запуска, далее нажмите "ОК":

В левом меню панели управления нужно найти пункт "Инструменты" и в нём пункт Crontab:

Добавлять команду нужно следующим образом (это только пример):

Исполнитель - Исполняемый бинарный файл.
В путь до файла указываем, примерно так:
/opt/phpXX/bin/php /home/x/xxxxx/путь_до_сайта/public_html/cli.php shop команда id_команды
, где
Нам потребуется программа для подключения, проще всего использовать Putty. Она бесплатна, и доступна для скачивания по первой ссылке в Google или здесь.
Запускаем программу, вводим адрес хоста или IP адрес и порт:

Connection type - SSH. Нажимаем "Open". Откроется окно терминала:

Введите логин пользователя. Внимание, cкопированные значения можно вставить однократным нажатием правой кнопки мыши (CTRL+V не работает). Нажмите Enter.
Система попросить ввести пароль. Внимание, вводимые символы не отображаются. Вы можете скопировать пароль, вставить однократным нажатием правой мыши (этого видно не будет) и нажать Enter.
В случае успешного подключения появится строка для ввода команд:

Команда: crontab -l
Вводите команду, нажимаете "Enter", появляется список ранее созданных Cron команд:

Команда для просмотра заданий другого пользователя: crontab -u username -l
Команда: crontab -e
Редактирование команд другого пользователя: crontab -u username -e
После ввода команды открывается возможность изменять задания через редактор Vim. Его использование имеет некоторые особенности.

Чтобы войти в режим редактирования нужно нажать букву "i". Выход из режима редактирования - Esc
Копирование производится простым выделением (CTRL+V не работает)
Чтобы выйти из редактора VIM нужно два раза нажать Shift+Z.
В режиме редактирования (crontab -e) нужно войти в редактор, нажав "i", добавить команду с новой строки.
После сохранения и выхода из редактора появится сообщение
crontab: installing new crontab
Команда ps -e
Показывает все запущенные в данный момент процессы (не только crontab)
Команда: ps aux | grep cli.php
Команда:strace -p {номер команды}
crontab -r - удаление файла crontab текущего пользователя.
Как добавить cron команду в "облаке" для приложения Интеграция с Ozon?
Как исправить ошибку Cron: PHP Parse error: syntax error, unexpected '{' in waAppConfig.class.php
При работе Cron для SEO-фильтра создаются огромные логи (гигабайты)
Поддержка в компании Bodysite производится только через создание тикета. Поддержка по телефону или мессенджерам не оказыается.
Для создания и отслеживания обращений вы можете использовать ваш личный кабинет.
* - По причине наличия множества факторов и влияния сторонних разработок, диагностика может быть платной. Если проблема на стороне плагина подтверждается — мы возвращаем деньги.
На многие вопросы есть ответы в нашем информационном хабе. Если вы не нашли ответ, напишите нам.
Максимально подробно опишите детали вашего вопроса - если это ошибка, то при каких условиях и действиях её можно воспроизвести. Что происходило перед ошибкой - что обновляли/переносили/меняли ?
Убедитесь, что вы используете самую свежую версию решения, в инсталлере нет новых обновлений и имеется активная лицензия на этот продукт.
Пожалуйста, проверьте логи по инструкции.
Желательно сразу предоставить доступ в админ-панель вашего сайта для проверки настроек плагина/темы дизайна на вашем сайте. Как предоставить доступы.
В случае, если визуально причины ошибки установить не удастся могут потребоваться FTP/SSH доступы для технической диагностики.
Мы всегда прислушиваемся к вашим пожеланиям и рассматриваем их в первую очередь при дальнейшем развитии нашего решения.
Опишите максимально подробно, чтобы вы хотели доработать, и какую бизнес задачу это решит для вас.
Также, мы готовы в некоторых случаях оперативно доработать решение под вас на платной основе и включить этот функционал в общее обновление.
Наши продукты пользуются спросом, многие из них имеют тысячи установок, что говорит о том, что они работают. Однако, в некоторых случаях бывают индивидуальные ошибки, которые далеко не всегда вызваны нашим решением.
Если продукт опубликован давно, то мы уже устранили все возможные массовые ошибки на 99%.
Каждый проект - это уникальный набор из различных готовых решений и собственных доработок, с некоторыми из которых могут происходить технические конфликты. В случае обнаружения ошибок, нужно написать нам в поддержку, мы все проверим.
В некоторых случаях диагностика может быть платной. Если выявляется ошибка в нашем решении, то оплата возвращается.
Ошибка в плагине более вероятна, если:
а) Это новый плагин, который опубликован недавно.
б) Ошибка появилась после свежего обновления плагина.
В этом случае нужно написать нам, мы все проверим и исправим.
Самая частая причина такого поведения - выбор витрины. Во многих наших решениях есть возможность назначить индивидуальные настройки для конкретной витрины.
При этом, если вы изменяете настройки "для всех витрин", они не действуют, если уже имеются индивидуальные для этой витрины.
Откройте выпадающее поле выбора витрины и убедитесь, не выделена ли цветом нужная вам витрина.
В некоторых случаях вы можете увидеть сообщение, что на вашем сайте установлены нелицензионные продукты, которые могут быть удалены. Но ведь вы покупали лицензии, куда они могли пропасть?
Лицензии прикрепляются к конкретному ID инсталлера. Посмотреть его можно в приложении "Инсталлер" - "Настройки" - кнопка "Показать". Если этот ID на вашем сайте изменился, то все плагины будут думать, что на данной установке лицензии нет.
Почему может измениться ID инсталлера?
ID Инсталлера обычно меняется при смене хостинга или изменении файлов в папке wa-config.
Если переустановить Webasyst, то, вероятно, тоже будет новый ID.
Как вернуть прикрепление лицензий?
Купленные вами лицензии никуда не пропали, они есть в вашем личном кабинете заказчика в Webasyst. Там же вы можете прикрепить их к новому ID инсталлера.
Если лицензий нет в вашем кабинете заказчика, возможно их вам устанавливал кто-то другой и владельцем является другой аккаунт. Он может передать лицензии на ваш аккаунт, чтобы вы могли ими управлять.
В большинстве случаев для интеграции в тему дизайна нужно редактировать её шаблоны - вставить в код специальные конструкции "хелперы", которые вызывают функции плагина.
Для каждого решения есть соответствующие инструкции в этом информционном хабе.
Наши популярные плагины уже интегрировны во многие актуальные темы дизайна и дополнительных интеграций может не потребоваться. Уточните у разработчика.
Также, разработчик темы часто сам помогает с интеграцией плагинов в его тему.
За продажу и "отгрузку" готовых решений отвечает система Webasyst. Подробно про активацию они написали здесь.
Скидки на наши разработки предоставляются в следующих случаях:
1) Участникам Bodysite.club - скидка 50% на любое наше решение.
2) Переход с предыдущей версии продукта - запрос промокода через телеграм-бот @bodysite_promocode_bot
3) Скидки на нашу тему дизайна при наличии лицензии на любую другую тему - 20%.
4) В рамках наших услуг по продвижению (SEO) или подключению и ведению на маркетплейсах все необходимые решения входят в стоимость.
5) Наши продукты участвуют в различных распродажах, которые устраивает Webasyst несколько раз в год.
На данный момент тестовый период предоставляется только для сайтов, расположенных "в облаке" от Webasyst.
Вы можете очень легко зарегистрировать аккаунт в облаке на любой Email, установить плагин в инсталлере и протестировать его работу и настройки.
За выдачу и активацию лицензий отвечает компания Webasyst. В вашем личном кабинете заказчика вы можете управлять купленными лицензиями - перепривязывать к другим сайтам или передавать на другие аккаунты.
Если на вашем сайте указано, что "продукт не лицензирован", то проверьте к какому ID инталлера привязана лицензия в личном кабинете заказчика. Узнать, какой у вашего сайта ID инсталлера можно в разделе "Инсталлер" - "Настройки", кликните "показать" на Id инсталлера.
Если лицензии в вашем кабинете нет, то, возможно, её приобретал кто-то другой и не передал все права на неё на ваш аккаунт. Обратитесь к тому, кто её приобретал.
Использование продукта без лицензии - серьёзное нарушение законодательства РФ.
У нас есть подробная инструкция по настройке Cron.
Если ничего не получается, то в большинстве случаев помогает поддержка вашего хостинга.