Browse Source

Deactivate consumer on write exception.

pull/805/head
Sebastian 4 years ago
parent
commit
4f7f8fea05
  1. 2
      backend/src/Squidex.Infrastructure/EventSourcing/Grains/BatchSubscriber.cs
  2. 8
      backend/src/Squidex.Infrastructure/EventSourcing/Grains/EventConsumerGrain.cs

2
backend/src/Squidex.Infrastructure/EventSourcing/Grains/BatchSubscriber.cs

@ -97,6 +97,8 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
{
await foreach (var task in taskQueue.Reader.ReadAllAsync(completed.Token))
{
var scheduler = TaskScheduler.Current;
var sender = eventSubscription?.Sender;
if (sender == null)

8
backend/src/Squidex.Infrastructure/EventSourcing/Grains/EventConsumerGrain.cs

@ -227,6 +227,14 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
await state.WriteAsync();
}
}
catch (Exception ex)
{
Unsubscribe();
State = State.Stopped(ex);
DeactivateOnIdle();
}
finally
{
semaphore.Release();

Loading…
Cancel
Save