CGIを強制終了させないには?

[上に] [前に] [次に]
ちか 1999/05/20(木) 05:06:04
え〜っと、非常に長い時間、動作し続けるプログラムをCGI
で書く時、サーバーによっては、途中でプログラムが強制終了
させられてしまいます。
データファイルが壊れたりして、とても困る事があります。
これを防ぐ方法は、無いのでしょうか?
.htaccessとかで、有りそうな、無さそうな?

匿名希望 1999/05/20(木) 07:16:19
非常に長い時間動作し続けるスクリプトの場合、無限ループに陥ってる可能性があるとして処理が自動的に強制終了させられるのでしょう。
長時間の連続処理はサーバに負荷を掛けると思うので、なるたけ処理は短めに…。

ところで、どういうスクリプトですか?

なえ 1999/05/20(木) 08:59:27
処理時間が長い処理はnphにして、ちょこちょこ適当な文字("."とか)を出力しつづければ大丈夫です。
NPH-Script → http://www.tohoho-web.com/wwwcgi4.htm#NphScript

なえ 1999/05/20(木) 09:04:12
あ、ネスケだと<BR>が入らないと表示されないですね(^^;
適当な文字を".<BR>"のようにしてください。

ちか 1999/05/20(木) 20:27:43
NPHスクリプトにすると、途中でプログラムが強制終了させられる事は
無いという事ですか?

>ところで、どういうスクリプトですか?
その質問には、返答しかねます。
スミマセン。

なえ 1999/05/20(木) 21:12:59
>NPHスクリプトにすると、途中でプログラムが強制終了させられる事は
>無いという事ですか?
いえ、違います。
データを受信し続けることでサーバーとの接続を確立させておくだけです。
そのためにリアルタイムでデータ送信の出来るNPHスクリプトにする必要があるんです。
普通のCGI処理だと処理が終了しないとデータの送信が行われないんです。

ちか 1999/05/21(金) 03:39:49
>データを受信し続けることでサーバーとの接続を確立させておくだけです。
了解致しました。
処理の途中に、「.(ピリオド)」等を出力し続ければ良いんですね。

>普通のCGI処理だと処理が終了しないとデータの送信が行われないんです。
そうなんですか?
$|=1;
ってスクリプトの最初に書くと、ちゃんと出力してくれた様な気がしますが。


そういうワケで、一定時間ごとにピリオドを出力するプログラムにします。
nphの方は、うちのサーバーでは、意味の無い様な気がしましたので。
なえさん、ホント〜に、ありがとうございました。

[上に] [前に] [次に]