ディレクトリ
Q: サブディレクトリ構造は何段階まで必要か?
デフォルトは一段階を前提にしています。
たとえば、
HTML 化された記事は、
次のような一段階の階層構造になっています。
200201/msg○○.html
現代の PC の性能なら、
ディレクトリ中に 1000 個ファイルがあっても
ほとんど瞬時に ls は返ってきますが、
10000 ともなると少し考えます。
HTML 化されたファイルをおくサブディレクトリを 1000 ごとに用意すると、
たとえば spool/sub/file みたいにすると、
spool/ 以下の記事が 10^6 ( million )くらいまでは、
それなりのアクセス速度を保ちつつ格納できるはずです。
一つのMLで 100 万通は、なかなかいきません。
この予想は、悪くはないでしょう。
もう一段階いくと 10^9 くらいいきますが、
そこまで長くMLが続くことは少ないと考えます。
なお直接には関係ない議論ですが、
Maildir/ でも 100 万くらいで少しつらいようです。
メールを 10,000 通ためる人が 100 人いるだけでもうダメだということになります。
100万のオーダになると、二段階くらいにはしないといけません。
レシピ's
ディレクトリ名は、どこに定義されていますか?
/usr/local/etc/fml/defaults/$VERSION/default_config.cf
にデフォルト値が定義されています。
各MLの config.cf で上書きも出来ます。
動作時に使っている値は fmlconf で表示させて確認してください。
% fmlconf ML名 | grep _dir
これらの値を HOOK で使う際には config オブジェクトから取り出して下さい。
$_xxx_hook = q{
my $config = $curproc->config();
my $xxxdir = $config->get('some_where_dir');
... 略 ...
}