private static async void DoWork(WorkContext context)
{
do
{
try
{
context.Broker._counters.MessageBusBusyWorkers.Increment();
await context.Subscription.Work();
}
catch (Exception ex)
{
context.Broker.Logger.LogError("Failed to process work - " + ex.GetBaseException());
break;
}
finally
{
context.Broker._counters.MessageBusBusyWorkers.Decrement();
}
}
while (context.Subscription.UnsetQueued() && !context.Broker._disposed);
}