indeedeng / iwf-java-sdk Goto Github PK
View Code? Open in Web Editor NEWJava SDK for iwf workflow engine(simple & powerful workflow as code engine based on Cadence/Temporal)
License: Apache License 2.0
Java SDK for iwf workflow engine(simple & powerful workflow as code engine based on Cadence/Temporal)
License: Apache License 2.0
Add comments about how to register in ct
input: workflowId, runId(optional)
output: status + currentRunId
Use workflow/get API, and set needsResults
to false: https://github.com/indeedeng/iwf-idl/blob/f63c1a67a111fd946ec477545a3c30e552a75965/iwf.yaml#L469 so that it won't return the workflow result
Use the basic integ test to test the API working
Remove state options from it for client as it should be loaded from workflow state rather than from request, otherwise it will be confusing.
Remove minimum from method and let start api specify timeout
Also remove one overload to make it clear
Use map[string]Object as initial search attribute
unregistered client can use raw workflow state option instead
WorkflowOptions will be only for client and not for unregistered client
It’s created by mistake
by default it's the simple name but in some advanced use case, ppl want to set the value differently (e.g. DSL workflow)
carry over policy /type
persistence loading policy/type
SearchAttributeType
This will be easier for multiple values
AC & steps (separate PRs):
For error that is caused by input, throw IllegalArgumentException.
For error that is caused by user workflow, throw WorkflowDefinitionException.java
For error that caused by SDK or Service, throw InternalServiceException.java
it’s 30 s . Also need the same for go sdk
User should still workaround by using unregistered client
check the input is assignable to start state input
When client is initiated without registry, then use as UntypedClient
Especially server has set timeout for the APIs
so that the stateId doesn't have to be specified in StateDecision.nextState(..)
We should mark the old ones as deprecated
Eg only sdk knows if it’s keyword or text
remove library path
rename FAILING_WORKFLOW to FORCE_FAILING_WORKFLOW
E.g. in WorkflowService we should check if the workflow state is valid
This will probably make it even easier for https://github.com/indeedeng/iwf-java-samples/blob/b444ff64f993a131fa7a55a5ff15476d1a4a13d4/src/main/java/io/iworkflow/controller/IwfWorkerApiController.java#L61
this will also help the maven library name(artifactId)
Currently it's using
default start to close timeout from iwf-server:
10 s
default backoff retry from Temporal server:
// The default RetryPolicy provided by the server specifies:
// - InitialInterval of 1 second
// - BackoffCoefficient of 2.0
// - MaximumInterval of 100 x InitialInterval
// - MaximumAttempts of 0 (unlimited)
Or getWorkflowResultNonBlocking
Or tryGettingWorkflowResult
when starting a workflow with starting state, or in StateDeicion.singleNextState and StateDeicion.multipleNextStates, we should check if the state are valid and registered for the workflow type
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.