public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { PollForActivityTaskResponse response = new PollForActivityTaskResponse(); response.ActivityTask = ActivityTaskUnmarshaller.Instance.Unmarshall(context); return(response); }
public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { PollForActivityTaskResponse response = new PollForActivityTaskResponse(); UnmarshallResult(context, response); return(response); }
public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { PollForActivityTaskResponse response = new PollForActivityTaskResponse(); context.Read(); response.PollForActivityTaskResult = PollForActivityTaskResultUnmarshaller.GetInstance().Unmarshall(context); return(response); }
private async Task <ActivityTask> GetActivityTask(string domain, string taskList, string workerId) { PollForActivityTaskResponse response = null; do { response = await PollForActivityTaskAsync(domain, taskList, workerId); }while (_isRunning && string.IsNullOrEmpty(response.ActivityTask.TaskToken)); return(response.ActivityTask); }
ActivityTask Poll() { Logger.LogMessage("Polling for {0} activity task ...", ActivityType); PollForActivityTaskRequest request = new PollForActivityTaskRequest() { Domain = Constants.SWF_DOMAIN, TaskList = new TaskList() { Name = this.ActivityTaskList } }; PollForActivityTaskResponse response = this._swfClient.PollForActivityTaskAsync(request).Result; return(response.ActivityTask); }
private async Task <ActivityTask> Poll() { EmrJobLogger.PrintInfo(SwfResources.Info_PollingActivityTask); PollForActivityTaskRequest request = new PollForActivityTaskRequest() { Domain = this.SwfConfiguration.DomainName, TaskList = new TaskList() { Name = this.SwfConfiguration.ActivityTasksList } }; PollForActivityTaskResponse response = await this.SwfClient.PollForActivityTaskAsync(request); return(response.ActivityTask); }
/// <summary> /// Poll the image processing activity task list to see if work needs to be done. /// </summary> /// <returns></returns> private async Task <ActivityTask> PollAsync() { PollForActivityTaskRequest request = new PollForActivityTaskRequest { Domain = _Domain, TaskList = new TaskList() { Name = _TaskList } }; Logger.Debug("TaskList: {0}", request.TaskList.Name); PollForActivityTaskResponse response = await _swfClient.PollForActivityTaskAsync(request, _cancellationToken); return(response.ActivityTask); }
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); } } }
private static void UnmarshallResult(JsonUnmarshallerContext context, PollForActivityTaskResponse response) { response.ActivityTask = ActivityTaskUnmarshaller.GetInstance().Unmarshall(context); return; }