The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"как заставить апач не дожидаться выполнения CGI"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [ Отслеживать ]

"как заставить апач не дожидаться выполнения CGI"  
Сообщение от evger email(ok) on 11-Ноя-08, 16:06 
задача запустить perl скрипт из вебинтерфейса, скрипт работает 5-10 минут.
думал реализовать так:
запускается скрикт, форкается
парент отдает сообщени - ожидайте ..
чайл делает setsid выполняется, пишет свой статус в файл
веб интерфейс раз в 30 секунд делает запрос, читается файл статуса, обновляется статус

проблема в том, что апач висит и ждет пока все процессы завершатся

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "как заставить апач не дожидаться выполнения CGI"  
Сообщение от Pahanivo email(ok) on 11-Ноя-08, 16:24 
>задача запустить perl скрипт из вебинтерфейса, скрипт работает 5-10 минут.
>думал реализовать так:
>запускается скрикт, форкается
>парент отдает сообщени - ожидайте ..
>чайл делает setsid выполняется, пишет свой статус в файл
>веб интерфейс раз в 30 секунд делает запрос, читается файл статуса, обновляется
>статус
>
>проблема в том, что апач висит и ждет пока все процессы завершатся
>

background не пробовал? )

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "как заставить апач не дожидаться выполнения CGI"  
Сообщение от evger email(ok) on 11-Ноя-08, 16:34 
поясните
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "как заставить апач не дожидаться выполнения CGI"  
Сообщение от Pahanivo email(??) on 11-Ноя-08, 23:59 
>поясните

из cgi запускать нужный скрипт деманом

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "как заставить апач не дожидаться выполнения CGI"  
Сообщение от angra (ok) on 12-Ноя-08, 05:19 
Ну все-таки это перл, а не шелл и демонизироваться лучше самостоятельно, что судя по использованию setsid и пытался сделать автор.
Автору я бы посоветовал отладить для начала без апача, а если не получается самостоятельно решить проблему, то нужно показать минимально возможный код, демонстрирующий проблему. Например следующий демонстрационный код спокойно форкается из под апача, родитель выдает сообщение, а потомок демонизируется и живет еще пять минут. Никакие процессы апача при этом не висят.

#!/usr/bin/perl
use strict;
print "Content-type: text/html\n\n";
if (my $pid=fork) {
        print "done: $pid";
        exit;
} else {
        use POSIX qw(setsid);
        open STDIN,  '/dev/null';
        open STDOUT, '>/dev/null';
        open STDERR, '>/dev/null';
        setsid;
        for (1..5) {
                open FH,">fork_test";
                print FH $_;
                close FH;
                sleep(60);
        }
}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "как заставить апач не дожидаться выполнения CGI"  
Сообщение от Pahanivo email(ok) on 12-Ноя-08, 12:57 
гы ну и пусть perl ) а что теперь запретили cgi скрипты на шеле писать? )


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "как заставить апач не дожидаться выполнения CGI"  
Сообщение от evger email(ok) on 12-Ноя-08, 18:36 
>гы ну и пусть perl ) а что теперь запретили cgi скрипты
>на шеле писать? )

проблема решена, как вцелом и было понятно алгоритм верный проблема в кривых руках.
надо закрывать stdin и stdout
в шеле все работало - он не

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру