• 締切済み

IISのタイムアウト設定について

Windows2000+IIS6.0+ActivePerlで、時間がかかる処理を行うプログラムを作成しているのですが、 CGIタイムアウトが発生してしまい、最後まで実行 出来ません。 IISの設定で、ASPのタイムアウトや、セッションタイムアウトを30分とかに設定してもなぜか5分ほどでエラーになってしまいます。 どのようにすればCGIの実行時間を延ばせるのでしょうか?

みんなの回答

  • icmp
  • ベストアンサー率63% (14/22)
回答No.1

根本的な解決になるかどうか分かりませんが、以前にASPでタイムアウトを アプリ側で回避するために用いたのは、処理を行っている間、 定期的にクライアント側にコメント文を送ってやるという方法でした。 Perl でもこれと同様の処理を行えばとりあえずは解決できるのでは ないかと思います。 ASP版ですがその時と同じような処理を解説しているサイトが あったので載せておきます。

参考URL:
http://www.geocities.co.jp/SiliconValley/4334/unibon/asp/adoasync.html
club_m2005
質問者

お礼

回答あいりがとうございます。 わたしも最初はその方法を考えていたのですが、 Windowsではシグナル(ALRM)がちゃんと使えないので、 やむなく、IISの設定でタイムアウト時間を 延ばす方向で考えていました。

club_m2005
質問者

補足

すいません。自己解決しました。 IISのメタベースファイルを直接編集することで、 設定出来ました。 今後同じような問題を抱えた人のために。 1.IISを停止する。 2.C:\WINDOWS\System32\Inetsrv\MetaBase.xmlを   メモ帳などで開く。 3.CGITIMEOUTの項目を探し、タイムアウト値を   秒数で設定する。 4.IISを開始する。 ただし、メタベースファイルが壊れるとIISが動かなく なる恐れがありますので、触る場合は慎重に行う必要があります。 詳しいことはMicrosoftのHPにて調べてください。

すると、全ての回答が全文表示されます。

関連するQ&A