WEBサイトの製作、管理、とかの日記ブログです。

<<   2023年06月   >>
SunMonTueWedThuFriSat
    123
45678910
11121314151617
18192021222324
252627282930 
新着記事
カテゴリ
過去ログ
コメント
検索
もうちょいFastCGIテスト
$req->Finish()
すると次の要求を受け付けちゃうみたいなんで、
次の要求を受けつけ開始する前にブラウザと切断するには、
$req->Flush()

$req->Detach()
すればいいのかな?
FCGI解説ページによると、
$req->Flush()=受け付けた接続をフラッシュします.
$req->Detach()=接続を受け付けるファイルハンドルを一時的に解除します.
って感じ。

で、テストしてみたんだが、
$req->Flush()
でも
$req->Detach()
でもブラウザと切断しないな・・・
両方つけてもダメ。

$req->Flush()
$req->Detach()
$req->Finish()
って3つつけると切断はするがその前のprintが出力されてない。
$req->Finish()
だけだとうまく行く。
FlushとDetachの意味がわからんw
謎だw
close(STDOUT)
close(STDERR)
とかしないとダメ系か?
ブラウザとの切断方法はWEBサーバーによって違うから、
apache2限定のことかもしれん。

ブラウザと切断した後になにか重い処理したい場合、
Finish()
前にやったら、その接続が終了する前に処理することになっちゃう。
Finish()
の後に処理書いたら、
そのプロセスは終了した後処理になるが、
次の要求がそのプロセスにきちゃうんで待機することになっちゃう。
どっちかっていうと、処理開始前に待機になる後者のがいいかな。
close(STDOUT)
とかで切断できそうな気もするが、
変なことになっても困るしな。

この記事へのコメント
名前:
URL
コメント:
この記事へのトラックバック :
whblog 1.7