2016-07-20 13 views
2

アプリケーションをローカルで実行しているときにシングルトンロックの問題を取得できません。どうすれば解決できますか?あなたはアズールにすでにwebjobを公開している場合はAzure WebJobでシングルトンロックの問題を解決できない問題を解決するにはどうすればよいですか?

以下

static void Main() 
    { 
     JobHostConfiguration config = new`enter code here` JobHostConfiguration(); 
     config.UseTimers(); 
     AutoMapperManager.SetAutomapper(); 
     JobHost host = new JobHost(config); 

     //Task.Factory.StartNew(() => host.Call(typeof(Functions).GetMethod("GetActionItemPullData"))); 
     config.Tracing.ConsoleLevel = TraceLevel.Verbose; 
     host.RunAndBlock(); 
    } 

よろしく、 ヴァンテージ

+0

他のwebジョブで同じストレージアカウントを使用していますか? – Thomas

+0

はい、同じストレージ – Vantage

+1

私は両方のtimetriggerを使用して2つのWebジョブで同様の問題があります。ロックはストレージレベルにあるため、最初のジョブがシングルトンロックを取得したときに2番目のジョブが同じロックなどを取得できないため、別のストレージアカウントを使用する必要があります。 2つの異なるストレージアカウントを使用できますか? – Thomas

答えて

1

私のコードで、その間にローカルで実行しようとしたとき、それが実行されていないことを確認してください。

0

私が新しいアプリサービスにウェブの仕事を移行したと私は同じエラーを得ていたことを私に起こりました。すべてを見た後、私はそれが何であったかを考え出し:

は、Webジョブのインスタンスは、Azureの中で実行されていないことを確認してください。つまり、AzureでWebジョブを停止します。同じストレージアカウントをターゲットにしている場合でも、ローカルコピーは実行されません。

アプリのサービスを停止すると、ウェブの仕事を停止しません。 Webジョブを明示的に停止する必要があります。冗長ログレベルを追加

は私をたくさん助けました。

config.Tracing.ConsoleLevel = System.Diagnostics.TraceLevel.Verbose; 
関連する問題