public virtual async Task Run(Subscription subscription) { Trace.WriteLine($"Running subscription {subscription.Name}"); var events = _queryPerformer.ExecuteSubscriptionQuery(subscription); subscription.LastRunOn = SystemContext.Clock.Now; if (events.Events.Count() > 0 || subscription.Controls.ReportIfEmpty) { var response = _responseFormatter.FormatSubscriptionResponse(subscription.QueryName, subscription.Name, events); await SendResponse(subscription, response); } Trace.WriteLine($"Finished running subscription {subscription.Name}"); }
public virtual void Run(Guid subscriptionId) { var subscription = _subscriptionRepository.LoadById(subscriptionId); Trace.WriteLine($"Running subscription {subscription.Id}"); var events = _queryPerformer.ExecuteSubscriptionQuery(subscription); subscription.LastRunOn = SystemContext.Clock.Now; _subscriptionRepository.DeletePendingRequests(subscription.PendingRequests); if (events.Events.Count() > 0 || subscription.Controls.ReportIfEmpty) { var response = _responseFormatter.FormatSubscriptionResponse(subscription, events); SendResponse(subscription, response); } Trace.WriteLine($"Finished running subscription {subscription.Id}"); }