public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { RespondActivityTaskCompletedResponse response = new RespondActivityTaskCompletedResponse(); return(response); }
/// <summary> /// Respond back to SWF that the activity task is complete /// </summary> /// <param name="taskToken"></param> /// <param name="activityState"></param> private void TaskCompleted(string taskToken, string result) { RespondActivityTaskCompletedRequest request = new RespondActivityTaskCompletedRequest { Result = result, TaskToken = taskToken }; RespondActivityTaskCompletedResponse response = _swfClient.RespondActivityTaskCompletedAsync(request).Result; }
async void CompleteTaskAsync(String taskToken) { RespondActivityTaskCompletedRequest request = new RespondActivityTaskCompletedRequest() { TaskToken = taskToken }; RespondActivityTaskCompletedResponse response = await this._swfClient.RespondActivityTaskCompletedAsync(request); Logger.LogMessage("{0} Activity task completed.", this.ActivityType); }
private async Task CompleteTask(String taskToken, SwfActivity swfActivity) { RespondActivityTaskCompletedRequest request = new RespondActivityTaskCompletedRequest() { Result = JsonSerializer.Serialize <SwfActivity>(swfActivity), TaskToken = taskToken }; RespondActivityTaskCompletedResponse response = await this.SwfClient.RespondActivityTaskCompletedAsync(request); this.EmrJobLogger.PrintInfo(string.Format(SwfResources.Info_ActivityCompletedTemplate, swfActivity.Name, swfActivity.JobFlowId)); }
public static void Worker(IAmazonSimpleWorkflow swfClient, string domainName, string tasklistName) { string prefix = string.Format("Worker{0}:{1:x} ", tasklistName, System.Threading.Thread.CurrentThread.ManagedThreadId); while (true) { Console.WriteLine(prefix + ": Polling for activity task ..."); PollForActivityTaskRequest pollForActivityTaskRequest = new PollForActivityTaskRequest() { Domain = domainName, TaskList = new TaskList() { // Poll only the tasks assigned to me Name = tasklistName } }; PollForActivityTaskResponse pollForActivityTaskResponse = swfClient.PollForActivityTask(pollForActivityTaskRequest); RespondActivityTaskCompletedRequest respondActivityTaskCompletedRequest = new RespondActivityTaskCompletedRequest() { Result = "{\"activityResult1\":\"Result Value1\"}", TaskToken = pollForActivityTaskResponse.ActivityTask.TaskToken }; if (pollForActivityTaskResponse.ActivityTask.ActivityId == null) { Console.WriteLine(prefix + ": NULL"); } else { RespondActivityTaskCompletedResponse respondActivityTaskCompletedResponse = swfClient.RespondActivityTaskCompleted(respondActivityTaskCompletedRequest); Console.WriteLine(prefix + ": Activity task completed. ActivityId - " + pollForActivityTaskResponse.ActivityTask.ActivityId); } } }
public void Worker(string tasklistName) { while (true) { Console.WriteLine("Starting Worker" + tasklistName + ": Polling for activity..."); PollForActivityTaskRequest pollForActivityTaskRequest = new PollForActivityTaskRequest() { Domain = domainName, TaskList = new TaskList() { Name = tasklistName } }; PollForActivityTaskResponse pollForActivityTaskResponse = swfClient.PollForActivityTaskAsync(pollForActivityTaskRequest).Result; Console.WriteLine("finished polling pollForActivityTaskResponse"); RespondActivityTaskCompletedRequest respondActivityTaskCompletedRequest = //Ideally this function would actually do something and return real values. But since it's just hello //world we're returning nothing of value. (a static string) new RespondActivityTaskCompletedRequest() { Result = "{\"customReturnValue\":\"CustomReturnResult\"}", TaskToken = pollForActivityTaskResponse.ActivityTask.TaskToken }; if (pollForActivityTaskResponse.ActivityTask.ActivityId == null) { Console.WriteLine("Starting Worker" + tasklistName + ": NULL"); } else { RespondActivityTaskCompletedResponse respondActivityTaskCompletedResponse = swfClient.RespondActivityTaskCompletedAsync(respondActivityTaskCompletedRequest).Result; Console.WriteLine("Starting Worker" + tasklistName + ": Activity completed" + pollForActivityTaskResponse.ActivityTask.ActivityId); } } }