База знаний

Настройка запланированных задач

ID статьи: 238
Последнее обновление: 5 мая, 2020

Некоторые функции KBPublisher не будут работать без настройки запланированных задач:

  • Отчеты. Вы не сможете запускать отчеты.
  • Обработка подписок. Пользователи не получат уведомления о добавлении или изменении записей (статей, новостей, файлов и т.д.)
  • Планирование. Вы не сможете включить в расписание статью, новость или файл.
  • Оптимизация. Таблицы базы данных не будут проверяться/исправляться/оптимизироваться.
  • Синхронизация. Не удастся синхронизировать загрузки статей и файлов.
  • Подсказки поиска не будут работать.
  • Администрирование. Некоторые системные задания не будут выполняться.

Как запланировать задачи

В операционной системе Unix планирование настраивается с помощью команды crontab, в ОС Windwos - через Планировщик заданий или через Панель управления, предоставляемую вашим поставщиком услуг.

При планировании заданий для KBPublisher существует несколько файлов, которые необходимо периодически запускать

Файлы, которые необходимо поставить в расписание на выполнение:

  • admin/cron/freq.php – каждые 5 минут
  • admin/cron/hourly.php – каждый час
  • admin/cron/daily.php – каждый день, после полуночи
  • admin/cron/weekly.php – каждую неделю
  • admin/cron/monthly.php – каждый месяц.

1. Команда 'Сrontab' в Unix

# every 5 minutes
*/5 * * * *   /usr/local/bin/php [KBP_DIRECTORY]/admin/cron/freq.php

# hourly
0 * * * *    /usr/local/bin/php [KBP_DIRECTORY]/admin/cron/hourly.php

# daily, after midnight
01 0 * * *    /usr/local/bin/php [KBP_DIRECTORY]/admin/cron/daily.php

# weekly
10 0 * * 0   /usr/local/bin/php [KBP_DIRECTORY]/admin/cron/weekly.php

# monthly
20 0 1 * *   /usr/local/bin/php [KBP_DIRECTORY]/admin/cron/monthly.php

где /usr/local/bin/php ‒ это путь к интерпретатору PHP. Путь может отличаться в вашей системе. Для получения пути выполните запрос which php в командной оболочке.
[KBP_DIRECTORY] ‒ это абсолютный путь к каталогу установки KBPublisher (например: '/home/user_name/www/kb'). Введите свое значение.
ИЛИ

# every 5 minutes
*/5 * * * *   /usr/bin/curl -s http://example.com/kb/admin/cron/freq.php

# hourly
0 * * * *    /usr/bin/curl -s http://example.com/kb/admin/cron/hourly.php

# daily, after midnight
01 0 * * *    /usr/bin/curl -s http://example.com/kb/admin/cron/daily.php

# weekly
10 0 * * 0   /usr/bin/curl -s http://example.com/kb/admin/cron/weekly.php

# monthly
20 0 1 * *   /usr/bin/curl -s http://example.com/kb/admin/cron/monthly.php

Если вы используйте HTTP-запросы как описано выше, то в настройках KBPublisher необходимо включить разрешение HTTP-запросов и указать разрешенные IP-адреса. Для этого в Панели администратора перейдите в Настройки -> вкладка Администрирование и установите флаг Разрешить HTTP-запросы. Затем в поле Разрешить HTTP-запросы с IP-адресов введите IP-адреса, с которых разрешено принимать HTTP-запросы.

Вы можете вставить эти записи в команду crontab, выполнив crontab -e и отредактировав задания cron вручную. Либо можно создать файл (kbp_cron.txt), содержащий эти строки, и выполнить crontab kbp_cron.txt из командной оболочки (ПРЕДУПРЕЖДЕНИЕ: все существующие записи в crontab будут удалены!)

2. Запланированные задачи в Windows

В Windows вместо cron используйте Планировщик заданий. Для получения дополнительной информации свяжитесь со своим системным администратором или провайдером хостинга.
Для настройки Планировщика заданий в Windows XP, Vista и 7, Windows 2003 Server и более поздних версиях, воспользуйтесь командой schtasks.exe. Откройте командную строку и введите следующие:
schtasks /create /ru "System" /sc minute /mo 5 /st 00:00:00 /tn "KBPublisher freq task" /tr "[PHP_DIR]\php.exe [KBP_DIRECTORY]\admin\cron\freq.php"

schtasks /create /ru "System" /sc hourly /st 00:00:00 /tn "KBPublisher hourly task" /tr "[PHP_DIR]\php.exe [KBP_DIRECTORY]\admin\cron\hourly.php"

schtasks /create /ru "System" /sc daily /st 00:01:00 /tn "KBPublisher daily task" /tr "[PHP_DIR]\php.exe [KBP_DIRECTORY]\admin\cron\daily.php"

schtasks /create /ru "System" /sc weekly /st 00:10:00 /d SUN /tn "KBPublisher weekly task" /tr "[PHP_DIR]\php.exe [KBP_DIRECTORY]\admin\cron\weekly.php"

schtasks /create /ru "System" /sc monthly /st 00:20:00 /tn "KBPublisher monthly task" /tr "[PHP_DIR]\php.exe [KBP_DIRECTORY]\admin\cron\monthly.php"

где: [PHP_DIR] – это полный путь к php.exe, [KBP_DIRECTORY] – полный путь к каталогу KBPublisher. Введите свои значения.

Пример: schtasks /create /ru "System" /sc minute /mo 5 /st 00:00:00 /tn "KBPublisher freq task" /tr "C:\php\php.exe C:\www\kbpublisher\admin\cron\freq.php"

3. Панель управления

Панель управления зависит от вашего провайдера хостинга. За дополнительной информацией обратитесь к документации.


Примечания:
  • admin/cron/freq.php должен запускаться каждые 5 минут.
  • admin/cron/daily.php должен запускаться сразу же после полуночи.

----------------------------------------------------------------------
Функция доступна с версии 3.5 и выше

Эта статья была:   Полезна | Не полезна
ID статьи: 238
Последнее обновление: 5 мая, 2020
Ревизия: 9
Доступ: Открытый доступ
Просмотры: 20513
Комментарии: 0
Также прочтите