- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:排他処理について)
排他処理についてのアドバイス
このQ&Aのポイント
- ファイルのサイズが指定のサイズに達したときに、バックアップファイルとしてリネームし、新たにファイルを作成する処理があります。
- 複数プロセスが同時に動作することがあり、排他がかかっていないため、複数プロセスでファイルサイズが指定のサイズをオーバーしたと判断し、リネーム処理が行われ、.bakファイルも小さなファイルになってしまう事が発生しました。
- ファイルサイズがオーバーしたときにoverflg用のファイルを作成し、そのファイルの存在によって他のプロセスの動作を制御する方法を検討することをおすすめします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ファイルサイズがオーバーしたときに、overflagファイルを排他をかけて作成し、排他がとれなかったらそのまま書くという意味なら、それでいいと思います。 OSがUnix/Linuxなら、ログは自分で実装せずにsyslogに任せるのが一番いいと思いますけど。 あとは、ファイルサイズの制限が緩いのなら、処理プロセスでは切り替えを全く行わずにひたすら書いて、別途一定時間ごとに「ファイルサイズをチェックして越えてたら切り替える」というプロセスを起動するとか。
お礼
ありがとうございます。 見た目も動きも、一番影響が無く軽い手直しで済ませるには・・・と 思っているのですが、overflagを使うことも あまり自信がありません。 OSはwindowsです。 他のプロセスを立てることも大きな変更になりますし。 迷っています。 先ほど保守の方に確認したところ、 とりあえず、特に問題がおきていないので今のままで様子を見て、 (問題がおきたときにログが無いのは大変困るのですが^^;) 次月にも小さなログがあるようなら、対処を入れましょう...になりました。 対処する際にはサイズチェックする今の方法ではなく、 日付けごとにログを残す方法にして 古いログは保守作業の際に消していくように変更してもらおうと思います。 アドバイス有難うございました。 今後ともよろしくお願いします。