public Subscription( IProcessInstancesClient userTaskClient, OnProcessInstanceCallback callback, InstanceSubscriptionSettings subscriptionSettings) { _instanceClient = userTaskClient ?? throw new ArgumentNullException(nameof(userTaskClient)); _callback = callback ?? throw new ArgumentNullException(nameof(callback)); _subscriptionSettings = subscriptionSettings ?? throw new ArgumentNullException(nameof(subscriptionSettings)); _stopSignal = new CancellationTokenSource(); }
public static ISubscription SubscribeForProcessesInstances( this IProcessInstancesClient client, OnProcessInstanceCallback callback, InstanceSubscriptionSettings subscriptionSettings ) { var subscriptionSettings1 = subscriptionSettings ?? new InstanceSubscriptionSettings(); if (subscriptionSettings1.FetchInterval <= TimeSpan.Zero) { throw new ArgumentException( $"Fetch interval '{subscriptionSettings1.FetchInterval}' should be positive."); } var subscription = new Subscription(client, callback, subscriptionSettings1); subscription.StartAsync(); return(subscription); }