cron на php

serjinio

Гуру форума
Регистрация
10 Май 2007
Сообщения
439
Реакции
50
У кого то есть стабильно работающий скрипт?
 
У кого то есть стабильно работающий скрипт?
А в чем проблема? В чем может быть не стабильность?
У меня десятка три различных скриптов работающих на сервере от минуты до суток.
 
Предположение

Нестабильность может быть по таймауту или из-за превышения лимита памяти, т.к. часто cron выполняет тяжелые задачи.

Мне кажется это может помочь:
Обязательно протестируйте скрипт
Поставьте пересылку результата выполнения скрипта на почте
Выполняйте скрипты перед утром часа в 4 ночи
Выполняйте не в ровное время (не в 4 а в 3:37), т.к. на хостингах могут быть конкуренты
Разделите задачи в разные скрипты
Посмотрите документацию хостинга
Позвоните в хостинг)
 
  • Заблокирован
  • #4
можно еще сделать цепочную переброску результатов от одного процесса к другому, чтобы обойти timeout
 
Я делаю примерно также. Все мои cron-скрипты работают очень недолго, но запускаются достаточно часто.
Алгоритм примерно такой:
1. Скрипт запускается и считывает состояние.
2. Выполняет одну итерацию (или больше, если они совсем быстрые).
3. Сохраняет свое состояние и завершается.
 
Ребят, скажите, я тут прочитал, что есть скрипт, позволяющий оценить загрузку сервера в разное время, чтобы оптимально установить задачу на крон. Не знаете, где найти?
 
Загрузка чего? Если например по траффику, то проще всего посмотреть статистику от Webalizer, посмотреть когда меньше всего народу на серве и поставить на выполнение крон (работа с базой, подкачка новостей и т.д.)


Если нужно смотреть по загрузке проца, то можно попробывать комбайн nagios или попробывать такой loadavg
 
Надежнее крона по моему ничего нет.
 
У кого то есть стабильно работающий скрипт?
если надо для линуксов то
start - 1 файл который будет запускать Крон.
Код:
#!/bin/sh
cd /mnt/dsk1/SkriptDir#Директория скрипта там где лежат файлы [B]start[/B] и [B]mysh[/B]
mysh=mysh#2-рой файл
names=SkriptName
case "$1" in
    check)
        echo -n "Check $names: "
            num=`ps ax|grep mysh|grep -v grep|wc -l`
            if [ $num = 0 ] ; then
                echo -e "\t\t[ OK ]"
                ./mysh &
            else
                echo -e "\t[ $num ]\t\t[ FAILED ]"
            fi
    ;;
        *)
                echo "Usage: $0 {check}"
                exit 2
esac
exit 0
mysh 2-рой файл который будет запускать ПХП скрипт
Код:
#!/bin/sh
cd /mnt/dsk1/SkriptDir#Директория скрипта
while [ true ]; do
/usr/local/bin/php /usr/home/[путь к ПХП файлу]/Skript.php
sleep 5#Задержка повторного выполнения
done &
если помог то кнопочка Спасибо :)
 
Я для нестабильных скриптов делал, отдельную убивалку процессов. Перед повторным запуском скрипта на кроне. В том же скрипте идет проверка, завершен ли предыдущий процесс (банально создавал и удалял файлик с номером процесса), если нет, то сначала удалялся старый процес. Все стабильно работало
 
Назад
Сверху