=encoding utf8

=head1 NAME 

Qudo::Manual::JA::Intro - Qudo's document lang:ja

=head1 DESCRIPTION

QudoはバックエンドにRDBMSなどを利用したJob Queueing Management Systemです。

PerlにはTheSchwartzというJob Queueing Management Systemがありますが、
利用者が拡張しやすくなるように考えてつくりました。

=head1 Job Queueingとは

「Job Queueingとは何か」を簡単に言えば

HTTPサーバで扱うには少し重く厳密なリアルタイム性が求められない処理を

HTTPのサイクルから切り離した部分で処理を行わせたりすることができる仕組みです。

もちろんバッチ処理の変わりに使う事もできます。


例えば、あるユーザ登録型サイトがあるとして、

ユーザがサイトに登録した場合、登録完了メールをユーザに送る事が有ると思います。

実際の登録処理はHTTPのリクエスト内で行いますが、

メールの配信はそこまで厳密なリアルタイム性が求められていないため、

HTTPのサイクル内では実際のメール送信を行わず、

「この人にサイト登録完了メールを送信しておいてね」

という仕事をお願い（Job Queueing）しておき、

メール送信を専門に担当する処理にまかせたりします。

Qudoではこの

「この人にサイト登録完了メールを送信しておいてね」

をお願いするクライアントと

「この人にサイト登録完了メールを送信しておいてね」

を実際に処理するワーカーの仕組みを提供します。

また、Cronなどで起動されるバッチ処理でも使う事ができます。

CronなどでPerlのスクリプトを起動させると、処理に必要なモジュールのロードに時間がかかりますが、

常駐しているワーカーに処理の依頼だけを出し、実際の処理は必要なモジュールが既にロードされている

ワーカーが処理することで、バッチの起動コストを押さえる事も可能です。

