タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

poeに関するteahutのブックマーク (6)

  • Kazuho@Cybozu Labs: Perl から MySQL に非同期アクセスする方法

    « サーバシグニチャは隠さないのが当たり前 | メイン | swifty-0.02 と Perl バインディング » 2007年09月10日 Perl から MySQL に非同期アクセスする方法 mod_perl のプロセス内でやるのに POE でイベントループ回せ、ということ? もうちょいkwsk! > b:id:kazuhooku naoyaグループ - naoyaの日記 - 非同期SQLサーバ エントリ全体の趣旨はさておき、ソケット通信を非同期化するためにまた別のソケット通信を行うという使用例に違和感を覚えたのですが、回避策としてブクマコメントで提示した POE::Component::EasyDBI も内部で fork (&プロセス間通信) してるんですね。変なコメントしてごめんなさい忘れてください。って、それだけではなんなので... ここから題。 私はそういうケースに遭遇したこ

    teahut
    teahut 2007/09/21
    >DBI にはクエリを非同期実行するための仕組みがないようです。というわけで、Net::MySQL で非同期クエリを可能にするパッチを書いてみました。
  • Blog Developer's Cookbook : Weblogs.com Ping Gateway to はてなアンテナ (POE版)

    Weblogs.com Ping Gateway to はてなアンテナ (POE版) 前回紹介した、はてなアンテナ Ping ゲートウェイには、1点問題がありました。Ping を受け取った後、HTTPリクエストを発行してレスポンスを待っているため、Ping 受信に非常に時間がかかることがあるという点です。ここに時間がかかると、Blog ツールのエントリビルド処理が待たされることになり、好ましくありません。Ping を受けとったら即座にレスポンスを返し、非同期にアンテナへのリクエストを投げる方がよいでしょう。 今回のレシピでは、POE と呼ばれるフレームワークを使用して、この処理の非同期化を行ってみます。 Perl の非同期処理 一般に、外部へのネットワーク接続(この場合は、はてなアンテナへのHTTP接続)などによるブロッキング(*1)を避けるためには、一連の処理を個別に非同期で(async

    teahut
    teahut 2007/09/21
    >Perl の非同期処理
  • 仙石浩明の日記: オープンソース版 VPN-Warp リレー サーバ (Perl POE を使って実装)

    Perl の非同期I/Oモジュール POE を使って VPN-Warp relayagent を書いてみました」に 続いて、 同じく POE を使って VPN-Warp リレー サーバも書いてみました。 これで、オープンソースだけを使って VPN-Warp を実現することができます。 今までも、 BIGLOBE の VPN ワープのページから証明書を取得すれば、 月額 525円で VPN-Warp を試してみることはできたわけですが、 ちょっと試してみたい場合など、 有料であることがネックである感は否めませんでした。 特に、 常日頃からオープンソースを使いこなしている方々だと、 ちょっと使ってみたいだけなのにお金を払うのはねぇ、 と思ってしまうのではないでしょうか。 かくいう私も、 無料「お試し版」のサービスやソフトウェアに慣れきってしまっているので、 試しに使ってみようとする場合に、

    teahut
    teahut 2007/03/20
    >こういうことを考えることが好きなかた、「いっしょにDSASつくりませんか?」
  • naoyaのはてなダイアリー - Perlでモダンなネットワークサーバーを書くには

    Comet については、普及するかどうかという以前に、どう使えばいいのか、正しく使った場合に何をどこまでできるのか、という理解が共有されていないように思います。なので、(あくまで私見ですが) 使用したスライドの一部を公開したいと思います。よろしければごらんください。 サイボウズラボの奥さんによる Comet のサーバー周りの資料。すばらしい。C10K に対してどのようなアーキテクチャをとるのが良いかとの考察が特に勉強になりました。 また、問題や改善すべき点があれば、教えていただければ幸いです。 というので問題、改善すべきというわけではないですが Perl 周りの話で少し補足を。 資料中の「初心者へのオススメが PoCo::Server::HTTP でパフォーマンスが欲しい人には Sys::Syscall qw/:epoll/」の点。おそらく Perl でも epoll を使えますよというこ

    naoyaのはてなダイアリー - Perlでモダンなネットワークサーバーを書くには
    teahut
    teahut 2007/02/23
    >POE::Loop::Epoll を使えばあら不思議、一行追加するだけで POE サーバが epoll 対応になります。POE よりもライトな実装でイベント駆動がいいなあという場合は Event::Lib を使うと良いでしょう。
  • Kazuho@Cybozu Labs: Comet の正しい使い方

    « 「スーパー技術者争奪戦」 | メイン | JavaScript から Flash の便利な機能を使う方法 » 2007年02月23日 Comet の正しい使い方 今日会社の勉強会で Comet について話す機会がありました。 Comet については、普及するかどうかという以前に、どう使えばいいのか、正しく使った場合に何をどこまでできるのか、という理解が共有されていないように思います。なので、(あくまで私見ですが) 使用したスライドの一部を公開したいと思います。よろしければごらんください。また、問題や改善すべき点があれば、教えていただければ幸いです。

    teahut
    teahut 2007/02/23
    >オススメの構成: Cometは別ホスト名, iframe + XHR. パフォーマンスを狙うなら独自サーバモデル: Perl等でもそこそこの速度が出ます。初心者へのオススメ: PoCo::Server::HTTP, パフォーマンスが欲しい人: Sys::Syscall qw(:epoll)
  • 仙石浩明の日記: Perl の非同期I/Oモジュール POE を使って VPN-Warp relayagent を書いてみました

    多数の TCP/IP セッションを同時に維持する必要性などから、 非同期I/O が最近流行りのようです。 何をいまさら、という気もするのですが、 いわゆる「最新技術」の多くが 30年前の技術の焼き直しに過ぎない今日このごろなので、 非同期I/O 技術が「再発見」されるのも、 「歴史は繰り返す」の一環なのでしょう。 スレッドが当たり前の時代になってからコンピュータ技術を学んだ人にとっては、 (古めかしい) 非同期I/O が新鮮に映るのかも知れず、 なんだか「ファッションのリバイバル」に似ていますね。 Perl で非同期I/O 処理を手軽に行なうための枠組みとして、 POE: Perl Object Environment というものが あるようです。 POE を使うと、 あたかもスレッドを使っているような手軽さでプログラミングできます。 試しに VPN-Warp の relayagent を

    teahut
    teahut 2007/01/24
    >オリジナルの relayagent は C 言語で記述した 4000 行を超えるプログラムなのですが、 Perl だと 200 行以下で一通り動くものが書けてしまいました ... これから POE を使ってみようとする人の参考にもなれば幸いです。
  • 1