Comet練習
せっかくの長休み。なにか1本!ということで、Rails+JuggernautでCometなイベント通知サーバもどきを書いてみた。
目的:
あちこちで使い回せるお手軽な上流用イベント通知サーバを作るテスト。
機能:
- 仮想的なイベント記録ファイルに対し、オープン・クローズ・書き込みの3機能を提供する。
- イベント通知をリアルタイムに表示する。
- 1回のイベント通知操作にかかる時間は0.5秒以下。
実装:
- APIはWebService。プロトコルはSOAP。
- イベント通知データはSQLite3に保存。
- 書き込み操作系には
- 一発書き込みの「write_event」メソッドと、
- 応用を効かすための「begin_event」「put_message」「commit_event」メソッド群を用意。
- イベント通知の表示はWebブラウザで所定のページを開いて行う。
という感じで作成。
粒度が荒いイベント通知、たとえばアプリ上層の要所要所のログなら
という利点がある。・・・と思う。
イベント1件をDBでは「ヘッダ+明細」としてあり、それぞれタグ項目を付けてある。なのでビューアの書き方次第で、開発内部ツール、あるいは、社内のちょっとした便利ツールとしての使い道は色々あるのではないかしら。