From 71bc52da568cc4e92a71e9565f2a5332943ffeab Mon Sep 17 00:00:00 2001 From: duoertai Date: Thu, 21 Mar 2024 18:12:45 -0700 Subject: [PATCH] add start delay (#222) --- build.gradle | 2 +- iwf-idl | 2 +- src/main/java/io/iworkflow/core/Client.java | 1 + src/main/java/io/iworkflow/core/UnregisteredClient.java | 3 +++ .../java/io/iworkflow/core/UnregisteredWorkflowOptions.java | 2 ++ src/main/java/io/iworkflow/core/WorkflowOptions.java | 2 ++ 6 files changed, 10 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 1894d17..ed11e7b 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ plugins { // Apply the java-library plugin for API and implementation separation. id 'java-library' - id "org.openapi.generator" version "6.0.1" + id "org.openapi.generator" version "6.6.0" id 'org.springframework.boot' version '2.7.2' id 'io.spring.dependency-management' version '1.0.12.RELEASE' id 'io.github.gradle-nexus.publish-plugin' version '1.1.0' diff --git a/iwf-idl b/iwf-idl index af1891e..d291774 160000 --- a/iwf-idl +++ b/iwf-idl @@ -1 +1 @@ -Subproject commit af1891eb032c534b0b75894c611ead7e2954777d +Subproject commit d291774e44cebbfee85240418eecefc0481be0f7 diff --git a/src/main/java/io/iworkflow/core/Client.java b/src/main/java/io/iworkflow/core/Client.java index e93f8a2..2aa7366 100644 --- a/src/main/java/io/iworkflow/core/Client.java +++ b/src/main/java/io/iworkflow/core/Client.java @@ -134,6 +134,7 @@ public String startWorkflow( if (options != null) { unregisterWorkflowOptions.workflowIdReusePolicy(options.getWorkflowIdReusePolicy()); unregisterWorkflowOptions.cronSchedule(options.getCronSchedule()); + unregisterWorkflowOptions.workflowStartDelaySeconds(options.getWorkflowStartDelaySeconds()); unregisterWorkflowOptions.workflowRetryPolicy(options.getWorkflowRetryPolicy()); unregisterWorkflowOptions.workflowConfigOverride(options.getWorkflowConfigOverride()); unregisterWorkflowOptions.waitForCompletionStateExecutionIds(options.getWaitForCompletionStateExecutionIds()); diff --git a/src/main/java/io/iworkflow/core/UnregisteredClient.java b/src/main/java/io/iworkflow/core/UnregisteredClient.java index 02ac531..2031d0e 100644 --- a/src/main/java/io/iworkflow/core/UnregisteredClient.java +++ b/src/main/java/io/iworkflow/core/UnregisteredClient.java @@ -141,6 +141,9 @@ public String startWorkflow( if (options.getCronSchedule().isPresent()) { startOptions.cronSchedule(CronScheduleValidator.validate(options.getCronSchedule())); } + if (options.getWorkflowStartDelaySeconds().isPresent()) { + startOptions.workflowStartDelaySeconds(options.getWorkflowStartDelaySeconds().get()); + } if (options.getWorkflowIdReusePolicy().isPresent()) { startOptions.idReusePolicy(options.getWorkflowIdReusePolicy().get()); } diff --git a/src/main/java/io/iworkflow/core/UnregisteredWorkflowOptions.java b/src/main/java/io/iworkflow/core/UnregisteredWorkflowOptions.java index 1257c6c..d8135dc 100644 --- a/src/main/java/io/iworkflow/core/UnregisteredWorkflowOptions.java +++ b/src/main/java/io/iworkflow/core/UnregisteredWorkflowOptions.java @@ -16,6 +16,8 @@ public abstract class UnregisteredWorkflowOptions { public abstract Optional getCronSchedule(); + public abstract Optional getWorkflowStartDelaySeconds(); + public abstract Optional getWorkflowRetryPolicy(); public abstract Optional getStartStateOptions(); diff --git a/src/main/java/io/iworkflow/core/WorkflowOptions.java b/src/main/java/io/iworkflow/core/WorkflowOptions.java index 0ef395d..96a6041 100644 --- a/src/main/java/io/iworkflow/core/WorkflowOptions.java +++ b/src/main/java/io/iworkflow/core/WorkflowOptions.java @@ -15,6 +15,8 @@ public abstract class WorkflowOptions { public abstract Optional getCronSchedule(); + public abstract Optional getWorkflowStartDelaySeconds(); + public abstract Optional getWorkflowRetryPolicy(); public abstract Map getInitialSearchAttribute();