twitter が Scala 大好きすぎて (?) 設定ファイルまで Scala のソースコードな件

一日後、github仕事中にだらだらと仕事上必要があって見ていたら↓

試してみた↓


実際使ってるのは Kestrel っていう Scalaでつくられた Message Queue のライブラリというかミドルウェア(?)

英語だったら README.md にそれなりに使い方まで詳しくかかれてるのでそれでいいと思いますが、
日本語の情報だったら*1このへんが詳しいよ
Twitterの大規模システム運用技術、あるいはクジラの腹の中(後編)〜Twitterのサブシステム「Unicorn」「Kestrel」「Flock DB」
kestrelを試してみたよ
kestrelのソースコード
kestrelの作者さんによるkestrelの紹介
kestrelのマニュアル和訳
kestrelのfanout-queuesについて
twitterでも利用されているメッセージキュー Kestrelを試す


このファイルScala コードとしての設定ファイル みたいです。トップレベルに

new KestrelConfig {

という無名クラスのインスタンスを生成するコードがあるので、普通にコンパイルするコードとしてはおかしいですよね。このファイルを実行時にこのあたりで読み込んで、Evalしてるようです。



8月17日 追記:
flockdbもevalしてるェ・・・
最初に設定ファイル読み込んでevalしてるところ
設定ファイル

他にもあった

haplocheirus
evalしてるところ
設定ファイル

もう全面的に設定ファイルはScalaで書いて、初期化時にEvalする方針なのだろうか・・・

*1:全部ちょっと情報古いかもしれないけれど。これらの記事が書かれた時点のKestrelは、こういうEvalする仕組みじゃなく このライブラリ使ってたみたい