トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BBS-サポート掲示板/128

ページの作成や編集にはユーザ登録が必要です。

 FastCGIで実行 - mich (2003年10月27日 22時52分49秒)

3.5.1をFastCGIで実行させようと思い,以下のようなスクリプトを書いてみました。

FastCGIではプロセスをずっと動作させたままにして高速化するのですが,Wiki::redirect中でexitされているため,ページのリダイレクトがあるとプロセスが終了してしまいます。

とりあえず,exitをdieに書き換えて上でevalすることによりしのいでいますが,exitを使用しない方向に変更していただくわけにはいかないでしょうか?

 #!/usr/bin/perl
 use FCGI;
 use CGI;
 $wiki_cgi = `cat ./wiki.cgi`;
 while (FCGI::accept() >= 0) {
   CGI::initialize_globals;
   eval $wiki_cgi;
 }
  • とりあえず$wikil_cgiの冒頭に、wiki.cgi冒頭でmod_perl向けにやっているexit関数の置き換えのようなものを追加すれば、書き換えなしで動きそうな気もしますね。あと、FastCGI(mod_perlでもそうですが)だと、毎回設定を読みに行ったりという処理も省けると思うので、単純にexitを呼ばないというより、初期設定部分とリクエスト処理部分を分離するような感じでできると良いかと。 - にらたま (2003年10月28日 10時30分59秒)
  • exitはリダイレクト以外にもあちこちで使用してます。初期化処理についてはWiki.pmのインスタンスが毎回newされることを前提とした作りになっているので、根本的な改造を加えないと難しいんじゃないかと思います。Farmもありますし…。 - たけぞう (2003年10月28日 11時02分13秒)
  • mod_perl向けにexit関数を置換してたんですね。目が節穴だったようです。Wikiパッケージ中のexitを置き換えることで,配布モジュールを書き換えなくてもいけました。個人的にはこれで十分です。ありがとうございました。 - mich (2003年10月28日 23時15分39秒)
お名前: コメント:

最終更新時間:2003年10月28日 23時15分39秒