在具有多个实例的 webjob 中使用 EventProcessorHost - 给出异常 Microsoft.ServiceBus.Messaging.LeaseLostException

EventProcessorHost using in webjob with multiple instances - giving exception Microsoft.ServiceBus.Messaging.LeaseLostException

我在具有多个实例的 webjob 中使用 EventProcessorHost - 出现异常 Microsoft.ServiceBus.Messaging.LeaseLostException。特别是只有一个实例给出了这个例外。

当我运行它作为单个实例时它没有给出任何异常

Microsoft.ServiceBus.Messaging.LeaseLostException: 抛出了 'Microsoft.ServiceBus.Messaging.LeaseLostException' 类型的异常。 ---> Microsoft.WindowsAzure.Storage.StorageException:远程服务器返回错误:(409)冲突。 ---> System.Net.WebException:远程服务器返回错误:(409)冲突。 在 c:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\ClassLibraryCommon\Blob\CloudBlob.cs:第3186行 在 Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndGetResponse[T](IAsyncResult getResponseResult) 在 c:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\ClassLibraryCommon\Core\Executor\Executor.cs:line 299 --- 内部异常堆栈跟踪结束 --- 在 Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndExecuteAsync[T](IAsyncResult 结果)在 c:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\ClassLibraryCommon\Core\Executor\Executor.cs:line 50 在 Microsoft.WindowsAzure.Storage.Blob.CloudBlob.EndRenewLease(IAsyncResult asyncResult) 在 c:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\ClassLibraryCommon\Blob\CloudBlob.cs:line 1982 在 Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass4.b__3(IAsyncResult ar) 在 c:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\ClassLibraryCommon\Core\Util\AsyncExtensions.cs:line 114 --- 从抛出异常的先前位置开始的堆栈跟踪结束 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.ServiceBus.Messaging.BlobLeaseManager.d__23.MoveNext() --- 内部异常堆栈跟踪结束 --- 在 Microsoft.ServiceBus.Messaging.BlobLeaseManager.d__23.MoveNext() --- 从抛出异常的先前位置开始的堆栈跟踪结束 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.ServiceBus.Messaging.BlobLeaseManager.d__24.MoveNext() --- 从抛出异常的先前位置开始的堆栈跟踪结束 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 RoutingServiceWebJob.DataProcessorFactory.EventHubDataProcessor.d__37.MoveNext() 中 d:\a\s\RoutingServiceWebJob\DataProcessorFactory\EventHubDataProcessor.cs:第 163 行

我正在一次阅读一封邮件。请提出建议。

我可以通过将主机名设置为唯一字符串来避免这种情况。例如

var eventProcessorHostName = Guid.NewGuid().ToString();