/// <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)); }
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)); }