Marble Noteの技術 2.更新時刻の取得

各部分の仕掛けを見ていきましょう。
MNの重要な機能の一つとして、各ゴーストのネットワーク更新時刻を取得、表示する機能があります。この部分はRailsで作られた本体とは独立し、samidare*1を利用しています。
MNヘルパーMNのWebインターフェースから登録された情報はsamidareに渡され、これを定期的に作動させる事により更新時刻を取得。出力されたLIRSを元にDBを更新し、MN本体に表示されるという仕組みです。
この機構を採用する事により、簡単そうに見えるが実は結構煩雑な更新情報の取得プロセス*2を独自開発せずに済みました。

*1:五月雨Rubyで書かれた汎用アンテナシステム。

*2:HEADリクエストに対応しないサーバ相手ならばGETに切り替えるとか、変なLast-Modifiedを返すサーバ対応でGETして内容検証をかけるとか