人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

処理を非同期化するためにメッセージキュー及びジョブキューを利用したプログラムの実装をについて質問です。

実装はPERLで
メッセージキューにはPOE::Component::MessageQueue
ジョブキューにはSwarmage/TheSchwartz/Gearmanを検討してます。
(調べた限りでは。他になんか良いのがあれば教えてほしいです)

個人的な理解として、
メッセージキューは
メッセージの送信→キューに保存→メッセージを受信

ジョブキューは
ジョブの登録→キュー保存→なんらかの処理を実行

と考えていて、最後の処理が文字列でくるのかプロシージャで実行までするかの違いだと思ってます。

メッセージキューの最後がechoのコマンドと考えると、
どちらも同じように見えるため混乱してます。

利用用途として明確な違いがあるのか、
根本的に理解が間違っているのか
結局は同じだよとか
そのあたりを教えて頂ければと思います。

よろしくお願いいたします。


●質問者: saicologic
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:echo Gearman Perl キュー コマンド
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● shellcat
●60ポイント

明確な違いは「格納するモノ」だと思います。

「メッセージ」とは「起こったことをプロセスに知らせるもの」で

「ジョブ」とは「実行すべき処理内容」です。

メッセージは単なる数値や文字列でも構いません。

「どのようなことが」「どのような状況で」起こったかを

プロセスが知ることができれば良いのです。

対してジョブは、それ自身が何をすべきか知っている必要があります。

つまり、何らかのオブジェクト(又はコードリファレンス等)であるべきです。


結局のところキューはFIFOに分類される「データの扱い型」に過ぎないですし、

メッセージキューとジョブキューの何が違うかということであれば

「用途」

に尽きると思います。

◎質問者からの返答

とてもわかりやすい回答ありがとうございます!

違いがはっきりしてもやもやしてのがとれました。

それぞれのライブラリを使うときは「格納するもの」を意識して使いたいと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ