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)) await foreach (var task in taskQueue.Reader.ReadAllAsync(completed.Token))
{ {
var scheduler = TaskScheduler.Current;
var sender = eventSubscription?.Sender; var sender = eventSubscription?.Sender;
if (sender == null) if (sender == null)

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

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

Loading…
Cancel
Save