Example #1
0
        public void RegisterWorkflow(string name)
        {
            var listWorkflowRequest = new ListWorkflowTypesRequest()
            {
                Name               = name,
                Domain             = domainName,
                RegistrationStatus = RegistrationStatus.REGISTERED
            };
            var results = swfClient.ListWorkflowTypesAsync(listWorkflowRequest).Result;

            if (results.WorkflowTypeInfos.TypeInfos.FirstOrDefault(x => x.WorkflowType.Name == name) == null)
            {
                RegisterWorkflowTypeRequest request = new RegisterWorkflowTypeRequest()
                {
                    DefaultChildPolicy = ChildPolicy.TERMINATE,
                    DefaultExecutionStartToCloseTimeout = "350",
                    DefaultTaskList = new TaskList()
                    {
                        Name = deciderPollingKey
                    },
                    DefaultTaskStartToCloseTimeout = "150",
                    Domain  = domainName,
                    Name    = name,
                    Version = "1.0"
                };

                swfClient.RegisterWorkflowTypeAsync(request);

                Console.WriteLine("Registerd Workflow: " + request.Name);
            }
        }