新しいファイルまたは変更されたファイルが表示される前に(任意で?)遅延が発生する2つの状況を見ました。
最初のケースは私のRails開発環境です。 vimでコードファイルを変更して保存し、Webブラウザに切り替えてページを再読み込みします。 Railsサーバーは変更を検出して再ロードします。変更されたファイルが数秒間消え、Railsがファイルの欠落について文句を言わない限り、すべてが正常です。
2番目のケースは、本番環境のSphinxインデクサーです。増分インデックス設定があります。 Sphinx Index Builderは新しいインデックスファイルを作成し、それを既存のインデックスファイルにマージします。インデクサーが新しいファイルを読み取ろうとするたびに(約10分に1回)、新しいファイルの1つが存在しないことを除いて、すべてがうまく機能します。つまり、先ほど作成したのと同じプロセスで、次のことがわかります。そこにいる。
どちらの場合も、数秒後にファイルが表示され、何も起こらなかったかのようにうっとりしています。
誰もがこれを説明したり、解決策を見つけることができる場所についての手がかりを提供できますか?
開発環境はCentOS 6.3を実行しており、私が使用しているファイルシステムはローカルext3です。本番環境はDebian 7(wheezy)で、Sphinxインデックスファイルはローカルext4にあります。
ベストアンサー1
これはVimによって引き起こされた問題です。 Vimは新しいファイルを書き込む前に削除します。これは私が使用しているEmacs(およびWingIDEエディタ)とは非常に対照的です。
私は新しいコードをテストするときに実行する小さなPythonユーティリティを使ってこのユーティリティを見つけました。タイムスタンプに基づいてファイルのリストが変更されたことを確認するためにループを回して、いくつかのコマンドを実行します(通常は最初の.pyファイルを確認します)。テストを実行するためのPythonの引数として使用されます)
EmacsやWingideを使用しても問題はありませんが、vimを使って監視しているファイルの1つを変更すると、確認したいタイムスタンプファイルが存在しないため、Pythonユーティリティは終了します。