2016-10-18 3 views
0

私はソケットインターフェイス経由で時計を確立してから、変更を購読しています。ソケットインターフェイスを使用してオーバーフロー警告を送信し続ける

各受信PDUについて、マップに「警告」キーがある場合は、ドキュメントに示されているように、コンソール/ユーザーに警告を出力します。

しかし、オーバーフローが発生すると、「警告」キーが1回だけ表示されないように見えますが、着信するPDUには同じ警告(「再クロックが1回発生しました」)が繰り返し表示されます(AFAICT? )、私は同じエラーメッセージでコンソールをスパムすることになります。

私にとっては、ウォッチマンがオーバーフローイベントごとに1回のみ警告キーを送信した方が望ましいでしょう。それ以外の場合は、コンソールにスパムを掛けるのを避けるため、「ユーザーに既に表示されている警告」をキャッシュする必要があります。

To resolve, please review the information on 
https://facebook.github.io/watchman/docs/troubleshooting.html#recrawl 
To clear this warning, run: 
`watchman watch-del ... ; watchman watch-project ...` 

しかし、私はキャンセルし、私のサブスクリプションを再サブスクライブすることなく、警告をリセットする方法を持っていることを好むだろう:

また、一般的にはオーバーフロー挙動に関して、警告は述べています。例えば。今すぐ私は私のプログラムをkillし、watchman watch-delコマンドを実行してからプログラムを再起動する必要があります。

私は内部的に自動化することができます。私のプログラムで「オーバーフローが発生しました」という警告メッセージが検出され、サブスクリプションを終了し、watch-delを発行してから、watchを再発行してください。

しかし、私はソケットインターフェイス経由で警告をリセットすることもできますが、この内部ではwatch-delを実行しても、警告がリセットされる必要があるのはなぜですか?理論的には、ウォッチマンが既に再クロールを行っていて、ユーザーにコンソールにログオンしてその旨を伝えましたが、今は問題ありませんか?最初にwatch-del + re- watchが必要なのはなぜですか?

など。オーバーフローが絶えず起こっていない限り、再クロールを行う警備員のように見える(ファイルシステムと同期して戻ってくる)+警報PDUを発行するとすべてが正常に戻ってしまうはずで、ユーザプログラムは理想的には、 /単純で、同じ/既存のサブスクリプションでポストオーバーフロー/ポスト再クロールPDUを取得し続けるだけです。

答えて

0

申し訳ありませんが、これは可能な限り明確ではありません。

最初に、ウォッチマンサービスがすでにオーバーフローから回復しているため、厳密にここで対処する必要はありません。

ローカル設定に問題がある可能性があります。もしあなたがLinuxであれば、さまざまなinotify sysctlパラメータを増やすことを検討するかもしれません。あなたがマックにいるなら、これについてはほとんどできません。この警告は粘着性があり、ユーザーの顔に強制的に押し込まれます。私たちは後でユーザーにそれを抑制する方法を要求させたので、時計の削除と再起動の提案が追加されました。

結果は混乱を招くかなり騒がしい警告でした。警備員4.7で

我々はこの警告オフにする設定オプションを追加しました:https://facebook.github.io/watchman/docs/config.html#suppress_recrawl_warnings ここでの意図は、システム構成を修正する方法がわからない(または権限がありません)、ユーザーからの警告を非表示にすることです。サイト固有のレポーティングシステムに再クローニングの量を記録し報告することができる、(文書化されていない)perfサンプリング設定オプションと連携して機能します。

+0

感謝します、ありがとう!FWIW、私は、単に粘着性の警告をリセットするコマンドを持っていることは素晴らしいと思います。それから、私は 'watch-del'を使わずにソケットインタフェース経由で(現在のサブスクリプションを無効にすると仮定して)それをリセットすることができます。 (設定をチェックすることも意味があります;私のプログラムは起動時にそれを行い、ユーザが明示的にチェックをスキップしない限り、限界があまりにも低い/デフォルトであれば終了します)。 –

関連する問題