private void SubscriptionDropped(EventStoreCatchUpSubscription subscription, SubscriptionDropReason reason, Exception ex) { // Known bug in ES, must manually stop subscription or sub will continue delivering events. // https://groups.google.com/forum/#!searchin/event-store/subscription/event-store/AdKzv8TxabM/6RzudeuAAgAJ _sub.Stop(); Subscribe(); }
private void Stop() { _subscription.Stop(); if (_setLastPosition != null) { _setLastPosition(_subscription.LastProcessedEventNumber); } }
private void SubscribeToStream(IEventStoreConnection connection) { if (_subscription != null) { _subscription.Stop(); _subscription = null; } _subscription = connection.SubscribeToStreamFrom(_streamName, _checkpoint, CatchUpSubscriptionSettings.Default, EventAppeared, LiveProcessingStarted, SubscriptionDropped); }
public bool Close() { try { _eventStoreSubscription.Stop(TimeSpan.FromSeconds(5)); _observableSubscription.Dispose(); return(true); } catch (Exception) { return(false); } }
void SubscriptionDropped(EventStoreCatchUpSubscription projection, SubscriptionDropReason subscriptionDropReason, Exception exception) { Connection.Connected -= Connection_Connected; Subscription.Stop(); if (IsTransient(subscriptionDropReason)) { ReconnectionCounter++; if (ReconnectionCounter > MaxRecconectionAttemts) { LogAndFail(); } Logger.LogWarning(exception, $"{StreamName} subscription dropped because of an transient error: ({subscriptionDropReason}). Reconnection attempt nr: {ReconnectionCounter}."); Thread.Sleep(300); Start(CurrentCheckpoint).Wait(); } else { Logger.LogCritical(exception, $"{StreamName} subscription failed: ({subscriptionDropReason})."); throw exception; } }
public void Stop() { _ingressSubscription.Stop(); }
public void Stop() { _catchUpSubscription.Stop(); _eventStream.CompleteAdding(); }
public Task StopAsync(CancellationToken cancellationToken) { _subscription.Stop(); return(Task.CompletedTask); }
public override void Disconnect() { _eventStoreCatchupSubscription?.Stop(); }
public void Stop() { _subscription?.Stop(); }
protected override void PostStop() { _subscription?.Stop(); base.PostStop(); }