Я создал службу работника C#, который читает EventHub (16 раздела). В каждом разделе есть свой собственный объект EventHubConsumerClient. Каждый раздел Azure PRECTION принимает данные каждую секунду ... так что моя служба работает постоянно. 5.11.6 < /p>
EventPosition startingPosition;
PartitionProperties properties = await _consumer.GetPartitionPropertiesAsync(partitionId, stoppingToken);
startingPosition = EventPosition.FromSequenceNumber(properties.LastEnqueuedSequenceNumber);
var configHub = new ReadEventOptions
{
PrefetchCount = 500,
MaximumWaitTime = TimeSpan.FromMilliseconds(100)
};
int eventCounter = 0;
await foreach (PartitionEvent partitionEvent in _consumer.ReadEventsFromPartitionAsync
(partitionId, startingPosition, configHub, stoppingToken).ConfigureAwait(false))
{
try
{
if (partitionEvent.Data != null)
{
ReadOnlyMemory body = partitionEvent.Data.Body;
IEnumerable listaLPsHub =
JsonConvert.DeserializeObject
(Encoding.UTF8.GetString(body.Span));
if (listaLPsHub.Count() > 0)
{
eventCounter++;
}
if (eventCounter % 20 == 0)
{
GC.Collect();
GC.WaitForPendingFinalizers();
}
}
}
catch (TaskCanceledException er)
{
}
catch (Exception ex)
{
}
finally
{
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... ory-consum
Microsoft.net.sdk.worker, чтение Azure EventHub (16 раздела). ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение