タグ

workerに関するshiba_yu36のブックマーク (3)

  • Kazuho@Cybozu Labs: Perl で並列処理 (using マルチプロセス)

    « DBI::Printf - A Yet Another Prepared Statement | メイン | DBIx::Printf と LIKE 式 » 2007年10月02日 Perl で並列処理 (using マルチプロセス) Shibuya.pm で牧さんが Gungho の話をされたそうで、スライドを拝見しました。Pathtraq への言及もあってうれしい。 で、スライドを読んでいて、HTTP アクセスと HTML 解析/保存処理を分離すべき、となっている点が気になりました。実は Pathtraq (のうち奥が書いている部分) では、Gungho と HTML の解析/保存処理を分離することはしていません。そのかわり、複数のワーカープロセスを駆動することで、スループットを確保しています。分離モデルとマルチプロセスモデル、どちらの手法を採るべきかは、解析/保存処理の重さやエラ

  • TheSchwartz / Gearman のワーカープロセス管理WorkerManager - stanaka's blog

    概要 Perlの非同期処理システムとしてTheSchwartz / Gearmanを非常に便利に使っているのですが、いい感じにワーカープロセスを管理したかったので、WorkerManagerなるものを作ってみました。作ったのは実は1年以上前なのですが、ようやくの公開です。 基は、Apacheのpreforkモデルを踏襲しています。特徴は、 子プロセスを複数起動させて、ジョブを並列実行 一定回数のジョブを実行したら、子プロセスを再作成 クラスを定義するのみでジョブを実行 TheSchwartz / Gearmanの切り替えを最低限の変更で実現 ワーカープロセスの安全な停止(プロセス停止の際に、実行中のジョブの終了後に終了) ジョブの実行時のタイムスタンプをジョブ投入からの遅延をログに保存 というあたりです。preforkモデルなので、あまりモダンな設計ではないですが、gdbでのデバッグの容

    TheSchwartz / Gearman のワーカープロセス管理WorkerManager - stanaka's blog
  • TheSchwartzのworkerをテストする - Kentaro Kuribayashi's blog

    いま、MankiwというTheSchwartz/Gearmanのclient/worker/woker managerをいい感じにするモジュールを作っています。 https://github.com/kentaro/perl-mankiw これを作る過程で、TheSchwartzのworkerをテストする際に、こういう感じでやったらいいのかなーとやってみたので、ちょっと書いてみます。 workerのテストはなかなか書きにくいものです。ロジックは別のクラスにしておいて、workerからはそのクラスにパラメタを与えて呼び出すだけ、という感じにしておくのがテスタビリティ的にいいのだとは思いますが、まあ、実際ちゃんとTheSchwartz経由でテストしてみないことには安心できません。しかしその場合、TheSchwartzのworkerは、その性質上、非同期に動作するので、テストが面倒です。 そこで

    TheSchwartzのworkerをテストする - Kentaro Kuribayashi's blog
  • 1