Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documetaion to integ workflow implemented by raw REST controller #456

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions integ/workflow/any_command_close/routers.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@ import (
"net/http"
)

/**
* This test workflow has 2 states, using REST controller to implement the workflow directly.
*
* State1:
* - WaitUntil method will wait for SignalName1 or SignalName2
* - Execute method will go to State2
* State2:
* - WaitUntil method does nothing
* - Execute method will gracefully complete workflow
*/
const (
WorkflowType = "any_command_close"
State1 = "S1"
Expand Down
12 changes: 12 additions & 0 deletions integ/workflow/any_command_combination/routers.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ import (
"time"
)

/**
* This test workflow has 2 states, using REST controller to implement the workflow directly.
*
* State1:
* - WaitUntil method will have two attempts. The first attempt attempt will wait for an invalid list of commands.
* This will be rejected by server can cause a 2nd attempt.
* The second attempt will wait for a valid list of commands of signals and timers, using ANY_COMMAND_COMBINATION_COMPLETED
* - Execute method will go to State2
* State2:
* - WaitUntil method is similar to State1 to have 2 attempts. But the combination of commands to wait for is different.
* - Execute method will gracefully complete workflow
*/
const (
WorkflowType = "any_command_combination"
State1 = "S1"
Expand Down
10 changes: 10 additions & 0 deletions integ/workflow/any_timer_signal/routers.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@ import (
"time"
)

/**
* This test workflow has 2 states, using REST controller to implement the workflow directly.
*
* State1:
* - WaitUntil method will wait for a timer or a signal
* - Execute method will go to State1 again for the first stateExecution(State1-1), and go to State2 for the second.
* State2:
* - WaitUntil method does nothing
* - Execute method will gracefully complete workflow
*/
const (
WorkflowType = "any_timer_signal"
State1 = "S1"
Expand Down
10 changes: 10 additions & 0 deletions integ/workflow/basic/routers.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,16 @@ import (
"net/http"
)

/**
* This test workflow has 2 states, using REST controller to implement the workflow directly.
*
* State1:
* - WaitUntil method does nothing
* - Execute method will go to State2 with some options(api timeout, retry policy)
* State2:
* - WaitUntil method does nothing
* - Execute method will gracefully complete workflow
*/
const (
WorkflowType = "basic"
State1 = "S1"
Expand Down
9 changes: 9 additions & 0 deletions integ/workflow/conditional_close/routers.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@ import (
"time"
)

/**
* This test workflow has 1 state and a RPC, using REST controller to implement the workflow directly.
*
* RPC: publish message to internal channel TestChannelName
* State1:
* - WaitUntil method: if the input is "use-signal-channel", then wait for TestChannelName signal, otherwise wait for TestChannelName internalChannel
* - Execute method: for the first stateExecution(State1-1), it will wait for 3 seconds to let the channel have a new message.
* Then it will conditionally go to State1 again using WorkflowConditionalClose, otherwise it will gracefully complete the workflow.
*/
const (
WorkflowType = "conditional_close"
RpcPublishInternalChannel = "publish_internal_channel"
Expand Down
9 changes: 9 additions & 0 deletions integ/workflow/deadend/routers.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ import (
"net/http"
)

/**
* This test workflow has 1 state and a RPC, using REST controller to implement the workflow directly.
*
* RPC: publish message to internal channel TestChannelName
* State1:
* - WaitUntil method: if the input is "use-signal-channel", then wait for TestChannelName signal, otherwise wait for TestChannelName internalChannel
* - Execute method: for the first stateExecution(State1-1), it will wait for 3 seconds to let the channel have a new message.
* Then it will conditionally go to State1 again using WorkflowConditionalClose, otherwise it will gracefully complete the workflow.
*/
const (
WorkflowType = "deadend"
RPCTriggerState = "test-RPCTriggerState"
Expand Down
Loading