Пример #1
0
        /// <summary>
        /// Poll for workflow decision task on AWS.
        /// </summary>
        /// <param name="taskList">Task list to poll on for new decision tasks.</param>
        /// <param name="pollingIdentity">Identity of workflow-host/decider.</param>
        /// <param name="token">Cancellation token.</param>
        /// <param name="nextPageToken">Next page token</param>
        /// <returns></returns>
        public async Task <DecisionTask> PollForDecisionTaskAsync(TaskList taskList, string pollingIdentity, CancellationToken token, string nextPageToken = null)
        {
            Ensure.NotNull(taskList, "taskList");
            var retryableFunc = new RetryableFunc(_errorHandler);

            return(await retryableFunc.ExecuteAsync(
                       async() => await PollAmazonSwfForDecisionTaskAsync(taskList, pollingIdentity, token, nextPageToken),
                       EmptyDecisionTask));
        }
Пример #2
0
        internal async Task <ActivityTask> PollForActivityTaskAsync(TaskList taskList, string pollingIdentity, CancellationToken cancellationToken)
        {
            Ensure.NotNull(taskList, "taskList");
            var retryableFunc = new RetryableFunc(_errorHandler);

            return(await retryableFunc.ExecuteAsync(
                       async() => await PollAmazonSwfForActivityTaskAsync(taskList, pollingIdentity, cancellationToken),
                       EmptyActivityTask));
        }