人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perlについての質問です。

Windows上でApacheを利用していますが、長い処理をしているとタイムアウトしてしまいます。
SIGALERTとかを調べてみたのですが、今ひとつわかりません。

処理が終わるまで、タイムアウトさせない方法をどなたか教えてください。

Windows XP SP2
Perl ver 5.8.8
Apache HTTP Server 2.2.3

●質問者: zachouR
●カテゴリ:コンピュータ インターネット
✍キーワード:Apache HTTP Perl Windows Windows XP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ●
●35ポイント

何秒でタイムアウトしますか?

300秒(5分)であれば、ApacheのTimeoutでしょう。

Apacheの設定ファイル(httpd.conf)でTimeoutが設定されているはずです。

この値を変更すればTimeoutするまでの時間をのばすことはできます。

[参考URL]


ただ、300秒以上かかるような処理をそのまま待たせるのはユーザビリティ、サーバ負荷の両観点で問題があると思います。

ユーザにメールアドレスを入力させ、処理完了後にメールして結果ページを知らせる、といった対応を考えた方が良いのではないでしょうか。

少しでも参考になれば幸いです。

◎質問者からの返答

タイムアウトを設定し直してうまくいきました。ありがとうございます。

確かに300秒以上かかる処理を、やらせるというのは非常にまずい事なのですが、自分がつくったソフトを使う場所は、特殊な状況下なので問題ないかな?と思っています。

これを、実際にネット上で使用するとなると非常に問題だと思います。

大変参考になりました、ありがとうございます。


2 ● b-wind
●35ポイント

Apache の Timeout ディレクティブ を長くする。

core - Apache HTTP ??????


もしくは処理が終わるまで、ダミーの空白などを少しづつ出し続ける事でタイムアウトさせない。

◎質問者からの返答

いつもありがとうございます。

timeoutをながくするというのを試してみてうまくいきましたが、ダミーの空白を出し続けるというのは、printで出力するということでしょうか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ