タグ

JobQueueに関するhide_o_55のブックマーク (6)

  • distributed job system. Clutch - blog.nekokak.org

    https://github.com/nekokak/p5-Clutch 公開してみた。 あんまり触る時間なくてこのまま腐るなら出してしまおうということでだしてみました。 まぁ何をやる人なのかをざっくり書くと、 gearmanみたいな中間管理職daemonを立てずに client - workerが直接通信してjob queueを投げる感じです。 gearmandみたいなのがいないので、基的にworkerがどこにいるのかとかはclient側が管理する必要があるけど ちょっとしたツール作るときとかそんなに管理に困るわけでもないので。 前回のHokkaido.pmでの発表でだいたいやりたい内容とか書いてるのであわせてどうぞ http://nekokak.org/presen/hokkaido06/ (発表の時からは微妙に仕様はかわってるけど。) あとパフォーマンスとか今のところ追求していない

  • Clutch

    こんにちわこんにちわ 二度目の北海道です 極寒の地を想像してましたが全然平気です まだこけてません 雪が楽しくて雪つもってたり滑りそうなところを選んで歩いてます 箱根でもコレくらいだと余裕であるので大丈夫そうです 全開はJPA様の支援を受けてきましたが今回は自腹です 自己紹介 小林 篤 id:nekokak not nekokaku DeNAベイスターズ DB周りのモジュール Job Queueとかのモジュールをよく作ってます

  • 第10回 ジョブキューで後回し大作戦―TheSchwartz、Qudo、Q4M(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはnekokakさんこと小林篤さんで、テーマは「ジョブキューで後回し大作戦」です。 ジョブキューとは 一時代前は時間のかかる処理もすべてWebアプリケーションで行っていましたが、最近ではいろいろな部分で処理の非同期化が行われるようになってきました。たとえばWebのインタフェース側ではAjaxがその最たるものでしょう。アプリケーションのバックグラウンド側でも今回のテーマであるジョブキューと呼ばれるしくみが多く利用されるようになりました。ジョブキューを賢く上手に利用することで、ユーザにストレスを与えることなく、またサーバのリソースも有効に使えるようになります。 ジョブキューは延々と動き続けるバッチ処理、というイメージが最もわかりやすいでしょう。通常のバッチ処理であればcrondを利用し、一定周期でプログラムを起動して

    第10回 ジョブキューで後回し大作戦―TheSchwartz、Qudo、Q4M(1) | gihyo.jp
  • 開発メモ: KVSとシグナル機構でジョブキューを実現する

    いわゆるkey-value storeを使っている際に、レコードの挿入もしくは更新を検知して即座に何らかの処理を行いたくなることはないだろうか。俺はあんまりないけど、結構そういう質問が来るので、きっと巷にはそういう要求があるのだろう。Kyoto Cabinetでそれを実現してみた。 ジョブキュー もうちょい具体的な例を挙げると、ジョブキューである。ここで、「foo」という名前のタスクを考えてみる。読み出し側(ワーカ)は、適当な名前をつけた条件変数を常に監視していて、そこにシグナルが飛んできたら即座にレコードを取得して処理を行いたい。しかし、「一定の間隔毎にレコードの検索を繰返して発見したら処理を行う」というポーリングスタイルにはしたくない。操作にどうしてもタイムラグが出るし、ポーリングのための無駄なトラフィックが発生するからだ。 シグナル待機処理と該当レコードの取得処理を行う擬似コードは以

  • Webアプリケーションにおける Job Queue システムの構成例と Worker を作る際に気をつけること - blog.nomadscafe.jp

    Webアプリケーション内で処理を直列に実行せずにJob Queueに回して非同期に実行することが多くなって来て久しいと思いますが、そのおすすめ構成と気をつけることについてつらつらと。 1) 既存のデータベースをキューとして使う構成例 1つ目はMySQLなどのデータベースをキューとして用いる例。既にアプリケーションで利用しているデータベースにキュー用のテーブルを作成して利用します。データベースを利用したキュー管理の仕組みとしてJonk、Qudo、TheSchwartzなどがPerlでは有名どころです。 依存するミドルウェアが増えないので最もシンプルな構成になると思います。 上記の図ではWorkerはアプリケーション内で実行することで冗長性を確保しますが、キューを格納するデータベースはSPOFになります。しかし、、データベースに障害があった場合キューだけでなくすべてのサービスが停止すると思われ

    hide_o_55
    hide_o_55 2011/06/06
    "1つのキューを処理 = Webサーバへの1リクエストに対する処理」のように捉えて制御することが重要"/ "MaxClientのような、一定数のキューを処理したら子プロセスが終了する仕組み" あれ?MaxRequestsPerChildでは?/修正確認
  • JobQueueManagerについて

    PerlにはTheSchwartzというJobQueueを管理するライブラリがあります。 6A製で大規模な環境での実績もあり、日の企業でも利用実績のあるすばらしいライブラリです。 私は昔TheSchwartzを使っていて思ったのがなんて拡張しにくいんだ。 なんでコレのためにData::ObjectDriverなんて普段使わないORMをインストールしないといけないんだ。 TheSchwartsとかtypeしにくんだよ。 と、まぁ不満があったのと、DBIx::Skinnyを使ったミドルウェア的なライブラリーを作ってみたい。 丁度githubが流行りだしたタイミングだったのでgithubをつかってみるのに丁度いいか!ってのでたしか 2年前の大晦日にQudoの開発を始めました。 現在では基TheSchwartzで不満だった部分は解消されまた数社で利用されており その中でかなり大規模に使っていた

    hide_o_55
    hide_o_55 2010/11/22
    期待してます
  • 1