我有一個雲服務和一個事件中心與2個分區。 我的雲服務是寫入Azure存儲的工作者角色。它會寫入從Event Hub收到的所有消息。工作角色 - EventProcessorHost CheckPoint似乎是因爲409衝突Azure存儲
使用Azure模擬器時,我的工作者角色正常工作,它在生產環境中寫入Azure存儲(不是開發者,所以它是相同的天藍色存儲)。
當我將我的輔助角色推送到雲服務時,我從Application Insight收到此類錯誤(100%成功調用:false)。使用IntelliTrace日誌,我得到了409衝突。
我試圖遠程調試,但它是如此緩慢,我將花費更少的時間重寫我的代碼比等待「下一步」 ......
我刪除了所有租賃管理在我的代碼,並沒有發生任何改變。 ..
我堅信,它關係到一個檢查點問題..
_host = new EventProcessorHost(Environment.MachineName, eventHubName, consumerGroupName, eventHubConnectionString, checkpointConnectionString);
我用我的檢查站這種方法(在我HandledEventProcessor)
個public async Task ProcessEventsAsync(PartitionContext context, IEnumerable<EventData> events)
{
try
{
foreach (EventData eventData in events)
{
var eventName = eventData.GetEventName();
var handlers = _handlerFactory.GetHandlers(eventName);
if (handlers.Any())
{
foreach (var handler in handlers)
{
SafelyHandleEvent(handler, eventName, eventData, context);
}
}
else
{
_log.WarnEvent("NoEventHandlers",
new Facet { Name = "eventName", Value = eventName });
}
}
await context.CheckpointAsync(); <--- Checkpoint here
}
catch (Exception ex)
{
_log.ErrorEvent("ProcessEventsFailed", ex,
new Facet { Name = "eventCount", Value = events.Count() },
new Facet { Name = "eventHubPath", Value = context.EventHubPath },
new Facet { Name = "partitionId", Value = context.Lease.PartitionId });
}
}
對Application Insight日誌
23/4/2016 10時35分01秒 - 依賴 Azure的BLOB:myblobStorage/myContainer中 依賴持續時間:2.84毫秒 成功的呼叫:假 網址:https:// **** blob.core.windows.net:443/myContainer/myConsumerGroupName/partition1
23/4/2016 10時35分01秒 - 依賴 Azure的BLOB:myblobStorage/myContainer中 依賴持續時間:2.84毫秒 成功緻電:假 網址:https://****.blob.core.windows.net:443/myContainer中/ myConsumerGroupName/partition0
23/4/2016 10點34分59秒 - 依賴 Azure的BLOB:myblobStorage/myContainer中 依賴持續時間:4.4 msSuccessful呼叫:falseURL:HTTPS://****.blob.core.windows.net:443/myContainer中/ myConsumerGroupName/1排版=租賃&超時= 10
4分之23/ 2016 10:34:59 - DEPENDENCY Azure blob:myblobStorage/myContainer 相關性持續時間:4.4 ms成功調用:falseURL:https://****.blob.core.windows.net:443/myContainer/myConsumerGroupName/0? comp = lease & timeout = 10
我沒趕上這一個...如果有人有一個想法,這是非常可喜的......
任何幫助,將不勝感激。
您是否在部署後立即收到該錯誤,並且是否有任何成功的操作? –
感謝您的幫助!看到我的答案。 –