namazu-ml(ring)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mknmz 時のファイル名



Koji Kishi <kis@xxxxxxxxxxxxxx> wrote:

>mknmz の実行中のファイル名ってプロセス番号がつくでしょ。
>それで、なにか予期しない問題があって mknmz が途中でとまっちゃったりすると、
>そのファイルがそのまま消えないで残ります。
>
>mknmz はふつう cron で1日1回動かします。
>mknmz が毎回毎回落ちるとするとどんどんその時のファイルが増えていきます。
>気がつかないでいたらやがて File system full に至ってしまいました。

うーん、「なにか予期しない問題があって mknmz が途中でとまっ
ちゃったりする」とはどんな事態でしょう? もし、そのときに 何
らかの signal が発生するなら、それ用の signal handler を用意
して対処できます。

# perl が "out of memory" で終了するときは signal が発生する
# のだろうか?

ちなみに、(つい先ほど実装したばかりですが) 開発中の v2.0 で
は 処理中に Ctrl+c を受け取ると、一時ファイルを消してから終
了します。(SIGINT に対する signal handler を用意した)


>というわけで、mknmz 実行中のファイル名はプロセス番号をつけるんじゃなく
>て.new などをつけて、ファイルが増えないようにした方がいいんじゃないか、
>と思うのでした。いかがでしょう?

考えてみれば、同じディレクトリに 2つ以上のインデックスを作る
ことはできないので、プロセス番号をつける必要はないのですね。
どうしようかなあ。たしかに rm NMZ.*.new で一時ファイルを一掃
できたら便利そう。

# プロセス番号をつけると「雰囲気」が出るという利点はあるかも :)

-- Satoru Takabayashi