User Tools

Site Tools


ru:cron_crontab_settings

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
ru:cron_crontab_settings [2018/03/16 17:27]
admin [Cron Settings]
ru:cron_crontab_settings [2018/03/16 17:27] (current)
admin [Почему rot.php работает целую минуту]
Line 1: Line 1:
 +====== Cron Settings ======
  
 +Crontab  - это часть операционной системы, которая позволяет запускать опредленные программы в опредлеенное время. SmartCJ использует крон для добавления статистики в базу. 
 +
 +Если во вкладке Main вы видите надпись "check crontab" это значит в 99% случаев, что кто-то удалил вашу запись.
 +Обычно она выглядит следующим образом:
 +
 +<code>
 +*/1 * * * * cd /path_to_scj/bin/; env HTTP_HOST=yourdomain.com /path_to_php/php -q cron.php
 +</code>
 +где path_to_scj и path_to_php соответствующие пути на вашем сервере.
 +
 +если вы используете внутреннюю ротацию то надо так же добавить крон ротации
 +
 +<code>
 +*/1 * * * * cd /path_to_scj/bin/; env HTTP_HOST=yourdomain.com /path_to_php/php -q rotation.php
 +</code>
 +
 +===== Если у вас много доменов =====
 +
 +Если у вас на одном сервере стоит много копий, то следует распределить нагрузку, что бы все эти копии не запускались одновременно. Для этого создайте в любом месте файл scj.sh в который внесите все задания смарта без * , например
 +
 +<code>
 +  cd /path_to_scj/bin/; env HTTP_HOST=yourdomain.com /path_to_php/php -q cron.php &
 +  sleep 2
 +  cd /path_to_scj2/bin/; env HTTP_HOST=yourdomain2.com /path_to_php/php -q cron.php &
 +</code>
 +
 +**Обратите внимание на наличие & в конце строки** - этот параметр запускает задачу в фоне, те система не дожидается когда отработает текущая команда, а сразу переходит к сл строке. (см нижи)
 +Регулируйте время sleep таким образом что бы все кроны были запущены в течение минуты. 
 +
 +**NOTE** амперсант (&) в конце строки **обязателен** потому что он запускает задачу в фоне и переходит к сл строке в файле, если сделать без него то кроны будут выполнятся по очереди. Учитывая, что скрипт может работать целую минуту (см ниже почему) то к следующей строке в файле оно перейдет через минуту и кроны не успеют выполнится в течение минуты. 
 +
 +
 +и добавьте в крон уже этот файл, например:
 +
 +<code>
 +*/1 * * * * cd /path_to_sh_file/ ; sh scj.sh
 +</code>
 +
 +
 +**ВНИМАНИЕ** общее кол-во слипов в файле должно быть не более минуты, те 59 слипов это максмум. Если у вас больше скриптов - надо ставить меньше пауз.
 +
 +
 +===== Время работы cron.php =====
 +
 +Этот скрипт расчитывает приоритеты трейдеров, а так же проверяет трейдеров на наличие в банлистах, алексу, google-safebrowsing, бан слова, создает тумбы трейдеров и тп. Приоритеты расчитываются очень быстро, а скорость проверки зависит от удаленных сайтов. Например, скрипт проверяет страницу трейдера на бан слова - значит надо сделать запрос на сервак трейдера и получить ответ. Если сервак трейдера висит - то скрипт может прождать 30 секунд. Эти 30 секунд он не занимает времени процессора, просто висит и ждет ответа, не поедая ресурсы сервера. 
ru/cron_crontab_settings.txt · Last modified: 2018/03/16 17:27 by admin