調べてみるとこれがなんだかとても面白そうで、実装に必要なCPANモジュールも完備されてるので何かやってみようと思い、出来たのはWWW::YourFileHostを使った非同期なダウンローダーです。
codecheck.inに置いてます
これを使うと、こんな感じになります。
- URLを指定してキューを追加して終了。軽くてサクサク(client.pl)
- キューに登録されたURLを元にコンテンツをゲット。重たいけどきっちりこなす(worker.pl)
これの何がうれしいかというと、コンテンツをゲットする部分を待たずに、
どんどんゲットしたいURLを投げつける事が出来る事にあります。
通常はコンテンツをゲットする時にリクエストを投げた後、対象のゲットが完了するまで待つ必要があるわけですが、
こうやる事でリクエストを投げる部分においてはそのリクエストをさばいてくれるworkerに投げっぱなしでよいのです。
シェルもすぐ帰ってくるし、次々リクエストだけ先行して行えるわけです。
これは、回線があまり速くない僕のようなユーザーにはありがたい。
バンバン追加して寝て起きたら終わっているみたいな。
今ゲットしてる最中だから終わるまで待っていようとか新しくシェル起動しようとか、そういうのも不要になります。
このclient.pl部分をBookmarklet化して今見ているものをDLキューに登録する。
とか、なかなか便利になりそうな気がしますです(少なくとも僕はw)。
ブクマ登録やreblog等一見処理は単純だけど相手先の状況で処理時間が大幅に変動する。
みたいな場面に置いて、手元の自由がすぐ効くようになるのはとっても便利。
今回、以下のリンクが大変参考になりました。
- perlのGearmanとPHPのNet_Gearmanでreblogサーバを作る
- TheSchwartzを使ってみた - nitsujiの日記
- web2.0 時代のジョブキューサーバー Gearman と TheSchwartz の関係について - TokuLog 改め だまってコードを書けよハゲ
- 人気娼婦とたくさんのオッサンの 性行為で学ぶ TheSchwartz
- 30days Album Information | 30days Album を支える技術 #0 ~ サーバ構成概要
- YourFileHost の flv を WWW::YourFileHost を使って簡単にダウンロード
多分よいこはまねしないほうがいいですヨ
0 件のコメント:
コメントを投稿