static void RegisterWorkflow(string name) { // Register workflow type if not already registered var listWorkflowRequest = new ListWorkflowTypesRequest() { Name = name, Domain = domainName, RegistrationStatus = RegistrationStatus.REGISTERED }; if (swfClient.ListWorkflowTypes(listWorkflowRequest).WorkflowTypeInfos.TypeInfos.FirstOrDefault( x => x.WorkflowType.Version == "2.0") == null) { RegisterWorkflowTypeRequest request = new RegisterWorkflowTypeRequest() { DefaultChildPolicy = ChildPolicy.TERMINATE, DefaultExecutionStartToCloseTimeout = "300", DefaultTaskList = new TaskList() { Name = "HelloWorld" // Decider need to poll for this task }, DefaultTaskStartToCloseTimeout = "150", Domain = domainName, Name = name, Version = "2.0" }; swfClient.RegisterWorkflowType(request); Console.WriteLine("Setup: Registerd Workflow Name - " + request.Name); } }
IEnumerable <ListWorkflowTypesResponse> IPaginator <ListWorkflowTypesResponse> .Paginate() { if (Interlocked.Exchange(ref _isPaginatorInUse, 1) != 0) { throw new System.InvalidOperationException("Paginator has already been consumed and cannot be reused. Please create a new instance."); } var nextPageToken = _request.NextPageToken; ListWorkflowTypesResponse response; do { _request.NextPageToken = nextPageToken; response = _client.ListWorkflowTypes(_request); nextPageToken = response.WorkflowTypeInfos.NextPageToken; yield return(response); }while (nextPageToken != null); }
static void RegisterWorkflow(string name) { // Register workflow type if not already registered var listWorkflowRequest = new ListWorkflowTypesRequest() { Name = name, Domain = domainName, RegistrationStatus = RegistrationStatus.REGISTERED }; if (SwfClient.ListWorkflowTypes(listWorkflowRequest) .WorkflowTypeInfos .TypeInfos .FirstOrDefault(x => x.WorkflowType.Version == "2.0") == null) { var request = new RegisterWorkflowTypeRequest() { DefaultChildPolicy = ChildPolicy.TERMINATE, DefaultExecutionStartToCloseTimeout = "300", DefaultTaskList = new TaskList() { Name = "SwfDemo" // Decider need to poll for this task }, DefaultTaskStartToCloseTimeout = "150", Domain = domainName, Name = name, Version = "2.0" }; try { } catch (TypeAlreadyExistsException tex) { SwfClient.RegisterWorkflowType(request); } Console.WriteLine($"INITIATOR: Registerd Workflow Name - {request.Name}"); } }
private Amazon.SimpleWorkflow.Model.ListWorkflowTypesResponse CallAWSServiceOperation(IAmazonSimpleWorkflow client, Amazon.SimpleWorkflow.Model.ListWorkflowTypesRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Simple Workflow Service (SWF)", "ListWorkflowTypes"); try { #if DESKTOP return(client.ListWorkflowTypes(request)); #elif CORECLR return(client.ListWorkflowTypesAsync(request).GetAwaiter().GetResult()); #else #error "Unknown build edition" #endif } catch (AmazonServiceException exc) { var webException = exc.InnerException as System.Net.WebException; if (webException != null) { throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); } throw; } }