タグ

ブックマーク / kameid.hatenadiary.org (3)

  • q4m の queue_wait, queue_end の動作を小変更 - kameidの備忘録 - Sharpen the Saw!

    現状の queue_wait はオーナーモードで呼び出した時に、勝手に queue_end が走るようになっている。また、queue_end は非オーナーモードでも何度でも呼べる。 よく考えられた仕様なのだが、私が若干特殊な使い方をしようとしていることもあって、queue_wait 時に勝手に queue_end してもらいたくない。要するにオーナーモード時は queue_wait してほしくないということだ。また、queue_end もオーナーモードだけで実行出来てほしい。 ※ ちなみに、今自分がオーナーモードに居るかどうかは、 select queue_rowid(); で確認できる。オーナーモードでないと、このSQLはエラーになる。 で、queue_wait, queue_end の動作を上記のように変更する簡単なパッチを作成した。対象バージョンは 0.8.4。 使い方は、q4m の

    q4m の queue_wait, queue_end の動作を小変更 - kameidの備忘録 - Sharpen the Saw!
    ryshinoz
    ryshinoz 2009/04/18
  • Prioritized Subscription 時の Q4M の動作 - kameidの備忘録 - Sharpen the Saw!

    複数のキューの中で、データのあるものを探して取って来る Q4M の便利機能。 mysql> SELECT queue_wait('high_priority_table', 'low_priority_table', 10); これのこと。 エラーキューとしてウチでは使おうと思っているが、これの動きに若干癖があったのでメモっとく。 まず、この書き方をするときは、タイムアウト指定が必須。 select queue_wait('a', 'b'); こういう書き方をすると、a テーブルの中身しか見てくれない。 select queue_wait('a', 'b', 60); のようにタイムアウトを必ず指定する。(上の例だと60秒) ちなみに、これはチュートリアルにも書いてある。 若干??になったのが、 チュートリアルの一番上に書いてある「一番簡単なq4mの使い方」の例 SQL mysql> SE

    Prioritized Subscription 時の Q4M の動作 - kameidの備忘録 - Sharpen the Saw!
    ryshinoz
    ryshinoz 2009/04/18
  • q4m にまつわる適材適所 - kameidの備忘録 - Sharpen the Saw!

    サイボウズ奥さん作の q4m を職場で提案。 jdbc で接続するのはちょっと・・・という意見が出たので、一個ラッパーを挟むことにして、無事職場で導入されそうだ。 ラッパーは apache の mod で作成した。単純にキュー投入リクエストを受け取り q4m に投入するだけの簡単なもの。とはいえ内部で mod_dbd を使用したコネクションプーリングも行い、(apache 上で動作させているため)ログ出力等の周辺機能もプラガブルに追加、変更可能だ。apache を使わずこれらを作り込むのは結構大変だ。 これでキューへのデータ投入に関しては単純な http リクエストで行えるということになる。 php でも servlet でも cgi でも簡単に作れるこの機能をあえて apache の mod で作成したのは、パフォーマンスを一番期待できるのではと考えてのこと。ラッパーがボトルネックになる

    q4m にまつわる適材適所 - kameidの備忘録 - Sharpen the Saw!
  • 1