Мониторинг работы скрипта с Web странички

Тема в разделе "Другие языки", создана пользователем pikasun, 26 ноя 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. pikasun

    pikasun Постоялец

    Регистр.:
    23 сен 2009
    Сообщения:
    117
    Симпатии:
    9
    Есть web-форма связанная со скриптом cgi. Заполняю данными и передаю скрипту cgi на выполнение.
    Далее через скрипт cgi вызывается еще один на perl и работает около 4-5 мин.
    Необходимо уведомление о конце работы приложения.
    Само приложенеи отслеживается по "ps aux | grep бла бла бла".
    Сгодиться редирект на страницу с сообщение о выполненной работе.
     
  2. uNknownMark

    uNknownMark

    Регистр.:
    22 сен 2007
    Сообщения:
    393
    Симпатии:
    169
    А в последнем скрипте выдавать редирект через заголовки не вариант?
     
  3. pikasun

    pikasun Постоялец

    Регистр.:
    23 сен 2009
    Сообщения:
    117
    Симпатии:
    9
    Редирект

    Понимаешь меня интересует:
    1. сам скрипт в теле CGI т.е синтаксис как мониторить
    2. из скрипта CGI возможен вызов не 1 а 2 и 3 скриптов возможно,
    так что он основной как бы и в его теле подразумевается основной мониторинг событий.

    Т.е если один из скриптов завис вдруг и в течении 15 мин не отработал мы его киляем и останов делаем всего.
    Из зависшего скрипта редиректа не получишь - правильно я рассуждаю?

    Алгоритм примерно такой:

    Запускаем скрипт внешний на выполнение и ждем.
    1. sleep 5; ждем 5 мин

    2. $i = `ps aux |grep '2009/11/'`; узнаем висит ли процесс и запоминаем в переменнную

    3. if $i ! =~ /2009/11/ { сравниваем значение переменной с 2009/11)

    4. exit; выходим из цикла и пишем в браузер шо все ОК! если в процессе уже ничего нет.

    или спим дальше и снова проверям по 3. пункту

    sleep 5;

    $i = `ps aux |grep '2009/11/'`;

    Где-то так.
    Если можешь подскажи точный синаксис, пожалуйста.
     
  4. Lucid_Mind

    Lucid_Mind Постоялец

    Регистр.:
    18 янв 2009
    Сообщения:
    72
    Симпатии:
    34
    Можно сделать на JavaScript + XmlRequest (AJAX) обработчик, который вызывает какой-то скрипт (на ПХП), проверяющий работает ли приложение.
    Если работает - возвращает в Response InProcess, если закончил - Finished. А Ajax-скрипт проверяет ответ и ждёт дальше, или выдаёт сообщение об окончании загрузки.
     
  5. pikasun

    pikasun Постоялец

    Регистр.:
    23 сен 2009
    Сообщения:
    117
    Симпатии:
    9
    Ajax

    Если не затруднит пример в коде кинь простенький :ay:
     
Статус темы:
Закрыта.