mod_perlの後処理フェーズ

CGI応答の高速化を考える時に、応答を返した後にアレコレ処理できればなぁーと思うことはしばしばある。
だからと言って、たとえば、print文の後に処理を書けばよいというものではない。
出力はバッファリングされるので、exitするまでバッファ中にたまっている事もありうる。

で、どうするか調べてみた。
Apacheの処理フェーズには、応答フェーズ、ログギングフェーズと続いて、処理フェーズがあるので、そこで処理をさせればいわけか。
で、その方法について、メモをば。

mod_perlの場合(mod_perl 1.X系です)
Cleanupハンドラを使用する。
 Apache->Request->regist_cleanup( sub { hogehoge; } ); # 処理ごとの後処理
Apache->Server->regist_cleanup( sub {hogehoge;}) ; # サーバが落ちる時の後処理

 なんか試してみたら、うまくグローバル変数とかがわたっていない感じがした。
 もう少し研究が必要かな。

PHPの場合はどーするんだろうな~

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック