監視している URL のリストを含むファイル urls.txt があるとします。私の監視スクリプトは、そのファイルをときどき編集して、たとえば、各 URL が到達可能かどうかを示します。また、そのファイルを手動で編集して、URL のリストを追加または変更したいと考えています。手動で編集するときに考える必要がないようにするにはどうすればよいですか?
ここにいくつかの可能な答えがあります。あなたならどうしますか?
vimまたはemacsが作成するロックファイルをプログラムにチェックさせるなどのハッカーに従事します。これは私だけのものなので、これは実際に機能します。
人間による編集が常に優先される場合は、常に人間がプログラムの変更を上書きするようにします (たとえば、ファイルがディスク上で変更されたという編集者の警告を無視します)。その後、プログラムは次のループで変更をやり直すことができます。それでも、ユーザーがファイルを編集している間にファイルを変更するのはあまり良くありません。
プログラムが進行中の変更を行っているファイルに人間が触れないようにしてください。設計を再考し、人間だけが編集する 1 つのファイルと、プログラムだけが編集する別のファイルを用意します。
適切なファイル ロックを行うファイルを編集するためのカスタム ツールを人間に提供します。これは、ファイルをロックしてからエディターを起動するか、ファイルからエントリを挿入/変更/削除するためのカスタム インターフェイス (おそらく単純なコマンド ライン インターフェイス) を起動するのと同じくらい粗雑です。
フラット ファイルの代わりにデータベースを使用すると、ロックはすべて自動的に処理されます。
(これをより具体的にするためにURL監視の例を作成したことに注意してください。実際に考えていることはおそらくあまりにも奇妙で気を散らすものであるためです。この質問は、人間とプログラムの両方が同じ状態ファイルを変更できるようにする方法に厳密に関連しています。)