コード例 #1
0
ファイル: Program.cs プロジェクト: wse/AWS
        static void Worker(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 ...");
                var pollForActivityTaskRequest =
                    new PollForActivityTaskRequest()
                {
                    Domain   = domainName,
                    TaskList = new TaskList()
                    {
                        // Poll only the tasks assigned to me
                        Name = tasklistName
                    }
                };

                var pollForActivityTaskResponse =
                    SwfClient.PollForActivityTask(pollForActivityTaskRequest);

                if (pollForActivityTaskResponse.ActivityTask.ActivityId == null)
                {
                    Console.WriteLine($"{prefix} : NULL");
                }
                else
                {
                    Console.WriteLine($"{prefix} : saw Input {pollForActivityTaskResponse.ActivityTask.Input}");

                    var respondActivityTaskCompletedRequest = new RespondActivityTaskCompletedRequest()
                    {
                        Result    = "{\"activityResult1\":\"Result Value1\"}",
                        TaskToken = pollForActivityTaskResponse.ActivityTask.TaskToken
                    };

                    var respondActivityTaskCompletedResponse =
                        SwfClient.RespondActivityTaskCompleted(respondActivityTaskCompletedRequest);
                    Console.WriteLine($"{prefix} : Activity task completed. ActivityId - " +
                                      pollForActivityTaskResponse.ActivityTask.ActivityId);
                }
            }
        }
コード例 #2
0
ファイル: Workers.cs プロジェクト: mjpandian/AWSConsoleSWF
        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);
                }
            }
        }