2017-01-18 6 views
0

私はAzure Webjobsとして実行され、必要に応じてスケールアウトするサービスを持っています。これは、実行中のプロセスであり、キューの各メッセージで数時間かかることがあります。それはうまく動作しますが、唯一の問題は、さまざまな問題が利用できないため、第三者に依存することです。Azure WebJobs Sleep

私のコードは、このエラーをキャッチし、私はそれを再試行する前に、それは10-15secondsを待つ必要がある、と私はこれがローカルに動作しますが、webjobとしてAzureの中で、すべてのインスタンスを一時停止するようだとき

Thread.Sleep(10000); 

を使用ウェブジョークのうち、待つ必要があるものだけではありません。

理由は何ですか?それぞれのインスタンスは異なるスレッド上にありますが、私はWebJobsには比較的新しいので、100%確実にすることはできません。

+0

async/awaitメソッドを使用しようとしましたか? – Thomas

答えて

0

App Service Planをスケールアウトすると、WebJobのすべてのインスタンスが個別に実行されます。彼らがすべて同時に眠っている場合、その間に残りのエンドポイントは一般に利用できないため、すべての人がスリープ状態になる可能性があります。

+0

はい私はそれも考えましたが、テストしたところ、ジョブの1つがデータの処理に忙しく、エンドポイントがオフラインになっていたので、別のジョブがスレッド、スリープであったため、それはデータを失ってしまったので、私の心配とこの質問を失いました。それは理にかなっていますか?それはここに遅れている... –

関連する問題