cron на php

Тема в разделе "PHP", создана пользователем serjinio, 25 ноя 2009.

Модераторы: latteo
  1. serjinio

    serjinio

    Регистр.:
    10 май 2007
    Сообщения:
    439
    Симпатии:
    49
    У кого то есть стабильно работающий скрипт?
     
  2. studentpm

    studentpm

    Регистр.:
    8 ноя 2006
    Сообщения:
    184
    Симпатии:
    132
    А в чем проблема? В чем может быть не стабильность?
    У меня десятка три различных скриптов работающих на сервере от минуты до суток.
     
  3. mywebsru

    mywebsru Создатель

    Регистр.:
    13 фев 2009
    Сообщения:
    17
    Симпатии:
    5
    Предположение

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

    Мне кажется это может помочь:
    Обязательно протестируйте скрипт
    Поставьте пересылку результата выполнения скрипта на почте
    Выполняйте скрипты перед утром часа в 4 ночи
    Выполняйте не в ровное время (не в 4 а в 3:37), т.к. на хостингах могут быть конкуренты
    Разделите задачи в разные скрипты
    Посмотрите документацию хостинга
    Позвоните в хостинг)
     
    Pup_vseya нравится это.
  4. sunnybear

    sunnybear Читатель

    Заблокирован
    Регистр.:
    30 май 2009
    Сообщения:
    9
    Симпатии:
    0
    можно еще сделать цепочную переброску результатов от одного процесса к другому, чтобы обойти timeout
     
  5. _AlexSK_

    _AlexSK_ Постоялец

    Регистр.:
    30 окт 2008
    Сообщения:
    59
    Симпатии:
    8
    Я делаю примерно также. Все мои cron-скрипты работают очень недолго, но запускаются достаточно часто.
    Алгоритм примерно такой:
    1. Скрипт запускается и считывает состояние.
    2. Выполняет одну итерацию (или больше, если они совсем быстрые).
    3. Сохраняет свое состояние и завершается.
     
  6. dronzond

    dronzond Писатель

    Регистр.:
    6 сен 2009
    Сообщения:
    8
    Симпатии:
    1
    Ребят, скажите, я тут прочитал, что есть скрипт, позволяющий оценить загрузку сервера в разное время, чтобы оптимально установить задачу на крон. Не знаете, где найти?
     
  7. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Загрузка чего? Если например по траффику, то проще всего посмотреть статистику от Webalizer, посмотреть когда меньше всего народу на серве и поставить на выполнение крон (работа с базой, подкачка новостей и т.д.)


    Если нужно смотреть по загрузке проца, то можно попробывать комбайн nagios или попробывать такой loadavg http://gluek.info/2007/01/21/linux-loadavg-load-memory-and-transfer-monitoring/
     
  8. Cocomot

    Cocomot Создатель

    Регистр.:
    3 фев 2007
    Сообщения:
    47
    Симпатии:
    0
    Надежнее крона по моему ничего нет.
     
  9. evangel

    evangel Создатель

    Регистр.:
    7 сен 2008
    Сообщения:
    17
    Симпатии:
    1
    если надо для линуксов то
    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 &
    
    если помог то кнопочка Спасибо :)
     
  10. ArtFun

    ArtFun Постоялец

    Регистр.:
    6 фев 2008
    Сообщения:
    139
    Симпатии:
    21
    Я для нестабильных скриптов делал, отдельную убивалку процессов. Перед повторным запуском скрипта на кроне. В том же скрипте идет проверка, завершен ли предыдущий процесс (банально создавал и удалял файлик с номером процесса), если нет, то сначала удалялся старый процес. Все стабильно работало