Плагин "OZON Доставка для бизнеса/продавцов" — весь функционал логистики в одном решении! Подробнее
База знаний
Bodysite.Help — единая база знаний и хаб поддержки по всем продуктам

Что такое CRON задание?

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
  • /usr/local/bin/php

Пути с указанием версии:

  • /opt/php74/bin/php
  • /usr/bin/php7
  • /usr/bin/php7.4
  • /usr/local/bin/php7
  • /usr/local/bin/php7.4

Пути для специфических установок и окружений:

  • /opt/php7.4/bin/php
  • /opt/php7.3/bin/php
  • /opt/local/php7.4/bin/php

Если в вашем случае простое указание php или /usr/bin/php не приводит к корретному запуску скрипта, то нужно указать путь с учётом версии PHP, на которой работает сайт. Узнать версию можно в приложении "Настройки":

Или в приложении "Логи", иконка "Конфигурация PHP".

2) /home/superuser/site.ru/www/cli.php - это путь к PHP-скрипту, который должен быть выполнен. В данном случае это скрипт cli.php, расположенный в указанной директории. В большинстве случаев, в команде этот путь указан верно и не требует изменений.

3) ozon - идентификатор приложения, в котором осуществляется запуск. Часто это shop (для плагинов приложения "магазин")

4) updateStocksByOzonProducts - это название функции, которая должна выполняться. Нужно строго указывать ту функцию, которая указана в плагине.

Как добавить задание в планировщик CRON?

Если вам нужно добавить задание в Cron - это можно сделать тремя способами:

  • а) Через интерфейс хостинга или панели управления.
  • б) Через SSH доступы и терминал (требуются специфичные знания)
  • в) Через обращение в поддержку хостинга или к специалистам, обслуживающим сервер.

Пользователь

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

Не добавляйте задание от пользователя root! Подробнее об этом

Частота запусков

Частота запуска должна определяться вами, исходя из процесса, для которого создана команда и его тяжеловестности. 

Обновление остатков должно производиться относительно количества заказов, которые совершаются в магазине. Если у вас один-два заказа в день, обновлять остатки каждые 5 минут не нужно. 

Если процесс тяжеловесный, например, обновление цен для десятков тысяч позиций, то тоже нет смысла ставить запуск на каждые несколько минут, поскольку будет не успевать завершиться предыдущий запуск!

Обновлять Sitemap и страницы SEO-фильтра не имеет смысла чаще раза в сутки. 

Пример добавления Cron команды через хостинг Netangels

Создание задание на примере VDS, находящегося на хостинге Netangels:

1. Авторизовываемся, выбираем пункт VDS

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

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

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

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

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

Пример добавления Cron команды через ISP Manager

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

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

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

Пример добавления Cron команды на хостинге Timeweb

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

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

Исполнитель - Исполняемый бинарный файл.

В путь до файла указываем, примерно так:

/opt/phpXX/bin/php /home/x/xxxxx/путь_до_сайта/public_html/cli.php shop команда id_команды

, где

  • /opt/phpXX/bin/php - здесь нужно указать версию PHP, на которой работает ваш сайт, например /opt/php74/bin/php
  • /home/x/xxxxx/путь_до_сайта/public_html/cli.php shop команда id_команды - эта часть полностью копируется из плагина, для которого вы настраиваете CRON.

Инструкции по настройке Сron от различных хостингов

Пример добавления Cron команды через терминал

Подключение

Нам потребуется программа для подключения, проще всего использовать Putty. Она бесплатна, и доступна для скачивания по первой ссылке в Google или здесь.

Запускаем программу, вводим адрес хоста или IP адрес и порт:

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

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

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

В случае успешного подключения появится строка для ввода команд:


Просмотр списка заданий CRON

Команда: crontab -l

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

Команда для просмотра заданий другого пользователя: crontab -u username -l

Редактирование Cron заданий

Команда: crontab -e

Редактирование команд другого пользователя: crontab -u username -e

После ввода команды открывается возможность изменять задания через редактор Vim. Его использование имеет некоторые особенности. 

Чтобы войти в режим редактирования нужно нажать букву "i". Выход из режима редактирования - Esc

Копирование производится простым выделением (CTRL+V не работает)

Чтобы выйти из редактора VIM нужно два раза нажать Shift+Z.

Как добавить новую CRON-команду через терминал.

В режиме редактирования (crontab -e) нужно войти в редактор, нажав "i", добавить команду с новой строки.

После сохранения и выхода из редактора появится сообщение 

crontab: installing new crontab

Как посмотреть работающие команды через терминал.

Команда ps -e 

Показывает все запущенные в данный момент процессы (не только crontab) 

  • PID - это уникальный идентификатор процесса, 
  • TTY - тип терминала, 
  • TIME - это общее время использования процессорного времени процессом (00:00:00 напротив процесса bash указывает, что процессорное время вообще не было использовано до сих пор), 
  • CMD - это имя команды, которая запустила этот процесс.

Команда: 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-фильтра создаются огромные логи (гигабайты)

Инструкция была полезна?
88% считают ответ полезным
Спасибо за обратную связь!
Чтобы добавить комментарий, войдите в личный кабинет
Как правильно обращаться в техподдержку?

Поддержка в компании Bodysite производится только через создание тикета. Поддержка по телефону или мессенджерам не оказыается.

Для создания и отслеживания обращений вы можете использовать ваш личный кабинет

В техническую поддержку входит:

  • Консультации по вопросам приобретения плагина;
  • Консультации по функционалу и возможностям плагина;
  • Ваши предложения по дальнейшему развитию плагина.
  • Выявление и решение проблем в работе функционала плагина.*

* - По причине наличия множества факторов и влияния сторонних разработок, диагностика может быть платной. Если проблема на стороне плагина подтверждается — мы возвращаем деньги.

Если у вас вопрос:

На многие вопросы есть ответы в нашем информационном хабе. Если вы не нашли ответ, напишите нам.

Если у вас ошибка:

Максимально подробно опишите детали вашего вопроса - если это ошибка, то при каких условиях и действиях её можно воспроизвести. Что происходило перед ошибкой - что обновляли/переносили/меняли ?

Убедитесь, что вы используете самую свежую версию решения, в инсталлере нет новых обновлений и имеется активная лицензия на этот продукт.

Пожалуйста, проверьте логи по инструкции.

Желательно сразу предоставить доступ в админ-панель вашего сайта для проверки настроек плагина/темы дизайна на вашем сайте. Как предоставить доступы.

В случае, если визуально причины ошибки установить не удастся могут потребоваться FTP/SSH доступы для технической диагностики. 

Если у вас пожелание:

Мы всегда прислушиваемся к вашим пожеланиям и рассматриваем их в первую очередь при дальнейшем развитии нашего решения.

Опишите максимально подробно, чтобы вы хотели доработать, и какую бизнес задачу это решит для вас.

Также, мы готовы в некоторых случаях оперативно доработать решение под вас на платной основе и включить этот функционал в общее обновление.

Условия обработки обращений:

  • График работы Пн-Пт, 08:00-17:00 (Мск). Сб, Вс и праздничные дни - выходные дни;
  • Заявки обрабатываются только в рабочее время;
Не работает решение, что делать?

Наши продукты пользуются спросом, многие из них имеют тысячи установок, что говорит о том, что они работают. Однако, в некоторых случаях бывают индивидуальные ошибки, которые далеко не всегда вызваны нашим решением. 

Если продукт опубликован давно, то мы уже устранили все возможные массовые ошибки на 99%. 

Каждый проект - это уникальный набор из различных готовых решений и собственных доработок, с некоторыми из которых могут происходить технические конфликты. В случае обнаружения ошибок, нужно написать нам в поддержку, мы все проверим.

В некоторых случаях диагностика может быть платной. Если выявляется ошибка в нашем решении, то оплата возвращается.

Ошибка в плагине более вероятна, если:

а) Это новый плагин, который опубликован недавно.

б) Ошибка появилась после свежего обновления плагина.

В этом случае нужно написать нам, мы все проверим и исправим.

Не применяются настройки плагина, почему?

Самая частая причина такого поведения - выбор витрины. Во многих наших решениях есть возможность назначить индивидуальные настройки для конкретной витрины.

При этом, если вы изменяете настройки "для всех витрин", они не действуют, если уже имеются индивидуальные для этой витрины.

Откройте выпадающее поле выбора витрины и убедитесь, не выделена ли цветом нужная вам витрина.

Куда пропали лицензии?

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

Лицензии прикрепляются к конкретному ID инсталлера. Посмотреть его можно в приложении "Инсталлер" - "Настройки" - кнопка "Показать". Если этот ID на вашем сайте изменился, то все плагины будут думать, что на данной установке лицензии нет. 

Почему может измениться ID инсталлера?

ID Инсталлера обычно меняется при смене хостинга или изменении файлов в папке wa-config.

Если переустановить Webasyst, то, вероятно, тоже будет новый ID. 

Как вернуть прикрепление лицензий?

Купленные вами лицензии никуда не пропали, они есть в вашем личном кабинете заказчика в Webasyst. Там же вы можете прикрепить их к новому ID инсталлера. 

Если лицензий нет в вашем кабинете заказчика, возможно их вам устанавливал кто-то другой и владельцем является другой аккаунт. Он может передать лицензии на ваш аккаунт, чтобы вы могли ими управлять.

Как интегрировать плагин в мою тему дизайна

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

Для каждого решения есть соответствующие инструкции в этом информционном хабе.

Наши популярные плагины уже интегрировны во многие актуальные темы дизайна и дополнительных интеграций может не потребоваться. Уточните у разработчика.

Также, разработчик темы часто сам помогает с интеграцией плагинов в его тему.

Купил плагин, как активировать лицензию?

За продажу и "отгрузку" готовых решений отвечает система Webasyst. Подробно про активацию они написали здесь

  1. Откройте приложение «Инсталлер» в панели администрирования своего сайта.
  2. Перейдите на главную страницу «Инсталлера» или в раздел «Плагины/Темы дизайна».
  3. С помощью поля поиска найдите страницу программного продукта, лицензию которого нужно установить или активировать.
  4. Щёлкните по кнопке «Купить или активировать».
  5. Если вы не авторизованы в Центре заказчика Webasyst, введите свой email-адрес и пароль. Если вы не помните пароль для входа в Центр заказчика, восстановите его.
  6. Когда появится список лицензий, выберите ту, которую нужно установить или активировать.
  7. Дождитесь завершения установки или активации лицензии.
Как можно получить скидку?

Скидки на наши разработки предоставляются в следующих случаях:

1) Участникам Bodysite.club - скидка 50% на любое наше решение.

2) Переход с предыдущей версии продукта - запрос промокода через телеграм-бот @bodysite_promocode_bot

3) Скидки на нашу тему дизайна при наличии лицензии на любую другую тему - 20%.

4) В рамках наших услуг по продвижению (SEO) или подключению и ведению на маркетплейсах все необходимые решения входят в стоимость.

5) Наши продукты участвуют в различных распродажах, которые устраивает Webasyst несколько раз в год.

Есть ли тестовый период за продукт

На данный момент тестовый период предоставляется только для сайтов, расположенных "в облаке" от Webasyst. 

Вы можете очень легко зарегистрировать аккаунт в облаке на любой Email, установить плагин в инсталлере и протестировать его работу и настройки.

Слетела лицензия что делать?

За выдачу и активацию лицензий отвечает компания Webasyst. В вашем личном кабинете заказчика вы можете управлять купленными лицензиями - перепривязывать к другим сайтам или передавать на другие аккаунты.

Если на вашем сайте указано, что "продукт не лицензирован", то проверьте к какому ID инталлера привязана лицензия в личном кабинете заказчика. Узнать, какой у вашего сайта ID инсталлера можно в разделе "Инсталлер" - "Настройки", кликните "показать" на Id инсталлера.

Если лицензии в вашем кабинете нет, то, возможно, её приобретал кто-то другой и не передал все права на неё на ваш аккаунт. Обратитесь к тому, кто её приобретал.

Использование продукта без лицензии - серьёзное нарушение законодательства РФ.

Не могу настроить CRON, что делать?

У нас есть подробная инструкция по настройке Cron.

Если ничего не получается, то в большинстве случаев помогает поддержка вашего хостинга.

Написать в техподдержку
В техническую поддержку входит:
  • Консультации по вопросам приобретения
  • Консультации по функционалу и возможностям
  • Выявление и решение проблем в работе функционала
В техническую поддержку не входит:
  • Настройка решения
  • Доработка под запросы клиента
  • Устранение багов в консультационной форме (без предоставления доступов к сайту)
Платная диагностика:
  • Диагностика сложных и неоднозначных проблем
  • Выявление конфликтов со сторонними решениями
  • Выявление конфликтов в вашей среде сервера
  • Приоритетный срок на обработку тикетов
  • Оплата только банковской картой