This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// GreetUser is used to Welcome a new User into the tavern | |
func (cc *CadenceClient) GreetUser(w http.ResponseWriter, r *http.Request) { | |
// Grab user info from body | |
var visitor customer.Customer | |
err := json.NewDecoder(r.Body).Decode(&visitor) | |
if err != nil { | |
http.Error(w, err.Error(), http.StatusBadRequest) | |
return | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const ( | |
cadenceClientName = "cadence-client" | |
cadenceService = "cadence-frontend" | |
) | |
const ( | |
// The names of the Workflows we will be using | |
OrderWorkflow = "programmingpercy/cadence-tavern/workflows/orders.WorkflowOrder" | |
GreetingsWorkflow = "programmingpercy/cadence-tavern/workflows/greetings.workflowGreetings" | |
) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"encoding/json" | |
"log" | |
"net/http" | |
"programmingpercy/cadence-tavern/customer" | |
"programmingpercy/cadence-tavern/workflows/orders" | |
) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package orders | |
import ( | |
"context" | |
"errors" | |
"programmingpercy/cadence-tavern/customer" | |
"time" | |
"go.uber.org/cadence/activity" | |
"go.uber.org/cadence/workflow" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Preconfigure ChildWorkflow Options | |
orderWaiterCfg := workflow.ChildWorkflowOptions{ | |
ExecutionStartToCloseTimeout: time.Minute * 2, // Each Order can tops take 2 min | |
} | |
// Grab the Selector from the workflow Context, | |
selector := workflow.NewSelector(ctx) | |
// For ever running loop | |
for { | |
// Get the Signal used to identify an Event, we named our Order event into order |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package orders | |
import ( | |
"time" | |
"go.uber.org/cadence/workflow" | |
"go.uber.org/zap" | |
) | |
// Order is a simple type to represent orders made |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cadence --domain tavern workflow signal -w 71b24355–4d9a-4460–818a-50c9058a837e -n order -i '{ "item": "Beer", "by": "Percy" }' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
percy@awesome:~/development/cadence-demo$ cadence --domain tavern workflow run --tl greetings --wt programmingpercy/cadence-tavern/workflows/orders.workflowOrder --et 60 | |
Running execution: | |
Workflow Id : a49df98b-34ed-46b6-ac74-8a2d6e39db0e | |
Run Id : bd989409-8688-4eed-b08f-d871d035c77b | |
Type : programmingpercy/cadence-tavern/workflows/orders.workflowOrder | |
Domain : tavern | |
Task List : greetings | |
Args : | |
Progress: | |
1, 2022-03-01T19:34:15+01:00, WorkflowExecutionStarted |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package orders | |
import ( | |
"time" | |
"go.uber.org/cadence/workflow" | |
"go.uber.org/zap" | |
) | |
// Order is a simple type to represent orders made |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Result: | |
Run Time: 1 seconds | |
Status: COMPLETED | |
Output: {"name":"Percy","lastVisit":"2022-02-28T20:38:49.5461618+01:00","timesVisited":1} |