タグ

psgiに関するtecklのブックマーク (4)

  • Plack Performance Tips - mount() and query_parameters() : D-7 <altijd in beweging>

    すごいヘビーな負荷を受けているPSGIアプリケーションで「なんでこれで負荷があがるの?」的な現象があったので二つほどTipを。ちなみにこれは 2013/03/06時点での話なので、もしこれをあなたが大分将来に読んでいるのなら、状況に変更がないかちゃんと確認すること! まずこのお話の前提:mod_perlなアプリをPSGIに移行したかった。アプリはmod_perlハンドラで書かれているので、Apache::RequestをPlack::Requestに書き換えたり、ハンドラ部分をオブジェクトにしてキレイにするくらいで、基的な構造は何も変えてない(←ここポイント)。あとはApache側とか設定をもりもりいじって、PSGIファイルを書いて、Starletでデプロイして、パフォーマンスが30%くらい悪くなった。さて、犯人は誰でしょう? まずアプリケーションを組む側が「やっちまったなぁ?」な件:P

    Plack Performance Tips - mount() and query_parameters() : D-7 <altijd in beweging>
  • Plack::Requestとか使って小さなWebアプリを作ろう! - JPerl Advent Calendar 2009

    ヒゲをはやして、髪をモヒカン気味に切って、ベストを着ていたら「dankogaiさんですか!」と呼ばれまくって失礼ですがショックを受けてしまい、とりあえずヒゲを剃ってみたyusukebeです。気合い入れて書きます。 はじめに さて、今回はPlack::RequestやTemplate-Toolkit、XML::Feedといったモジュールを使って、小さな、だけどもなかなか使えるWebアプリを作る過程を紹介します。これを通して、今話題であるPlackについてやWebアプリの仕組みについて多少でもわかっていただければこれ幸いでございます。 実はこのネタ昨日の夜考えて作ったものであります。というのも「YouTubeの動画を垂れ流しで好きなように、みてーな」とふと思ったからです。例えばYouTube内で「Perfume」と検索をすると個別の動画以外に「再生リスト」または英語では「Playlist」とい

  • CGI スクリプトから Perl Web Server Gateway Interface (PSGI) でコードを動かす - Tociyuki::Diary

    Perl Web Server Gateway Interface 仕様に馴染んでみようと、CGI スクリプトから PSGI でコード・リファレンスを呼び出す CGI::Joint を試しに作ってみました。 run クラスメソッドにコード・リファレンスを渡します。run メソッドは標準入力、標準エラー出力、環境変数から PSGI 互換のハッシュ・リファレンスを作って、コード・リファレンスを呼び出します。コード・リファレンスが返す配列リファレンスをチェックして、ヘッダとボディを標準出力に書き出します。エラーを検出したとき、デフォルトではスタータス 500 でブランク同然の html をブラウザに返します。$CGI::Joint::FatalsToBrowser が真のときは、$EVAL_ERROR をブラウザに返します。 下のスクリプトを Apache の ExecCGI 属性がオンになって

    CGI スクリプトから Perl Web Server Gateway Interface (PSGI) でコードを動かす - Tociyuki::Diary
  • SledgeのPSGI対応について。 - 時計を壊せ

    いろいろあってすっかり放置してました。 前回の記事でid:otsuneさんに紹介して頂いた、id:tokuhiromさんがPSGIに対応させたSledgeについてです。 そもそもPSGIって何? PSGIは正確にはPerl Server Gateway Interfaceとか言うらしいです。 名前のとおり、Perlとサーバーとのゲートウェイインターフェースって事ですね。 PSGIの仕様に則ったアプリケーションはこんな感じです。 use Data::Dumper; # helloworld.psgi my $app = sub{ my $env = shift; # 環境変数の入ったハッシュへのリファレンスが渡される。 return [ 200,# HTTPレスポンスコード ['Content-Type' => 'text/plane'],# HTTPレスポンスヘッダ(複数渡せる) [Dum

    SledgeのPSGI対応について。 - 時計を壊せ
    teckl
    teckl 2012/04/01
    メモり
  • 1