These are some samples to demostrate various capabilities of Cadence client and server. You can learn more about cadence at:
- Cadence: https://github.com/uber/cadence
- Cadence Client: https://github.com/uber-go/cadence-client
Run Cadence Server
See instructions for running the Cadence Server: https://github.com/uber/cadence/blob/master/README.md
See instructions for using CLI to register a domain(name as "samples-domain"): https://cadenceworkflow.io/docs/cli/#quick-start or https://github.com/uber/cadence/blob/master/tools/cli/README.md
By default cadence samples uses Thrift protocol to communicate with cadence server on port 7933. If you want to change the protocol to gRPC, add grpc
to the Makefile's TAGS variable, and do not forget to modify the config/development.yaml host configuration to port 7833
then add this port to your docker-compose file.
make
- Start workers for helloworld workflow and activities
./bin/helloworld -m worker
- Start workflow execution for helloworld workflow
./bin/helloworld -m trigger
./bin/cron -m worker
Start workflow with cron expression scheduled to run every minute.
./bin/cron -m trigger -cron "* * * * *"
./bin/dsl -m worker
./bin/dsl -m trigger -dslConfig cmd/samples/dsl/workflow1.yaml
./bin/dsl -m trigger -dslConfig cmd/samples/dsl/workflow2.yaml
See more details in https://github.com/uber-common/cadence-samples/blob/master/cmd/samples/expense/README.md
./bin/fileprocessing -m worker
./bin/fileprocessing -m trigger
./bin/branch -m worker
Run branch workflow
./bin/branch -m trigger -c branch
Run parallel branch workflow
./bin/branch -m trigger -c parallel this will run the parallel branch workflow
./bin/choice -m worker
Run the single choice workflow
./bin/choice -m trigger -c single
Run the multi choice workflow
./bin/choice -m trigger -c multi
./bin/greetings -m worker
./bin/greetings -m trigger
./bin/pickfirst -m worker
./bin/pickfirst -m trigger
./bin/mutex -m worker
./bin/mutex -m trigger
./bin/retryactivity -m worker
./bin/retryactivity -m trigger
./bin/splitmerge -m worker
./bin/splitmerge -m trigger
./bin/timer -m worker
./bin/timer -m trigger
./bin/childworkflow -m worker
./bin/childworkflow -m trigger
./bin/dynamic -m worker
./bin/dynamic -m trigger
See more details in https://github.com/uber-common/cadence-samples/blob/master/cmd/samples/recipes/localactivity/README.md
See more details in https://github.com/uber-common/cadence-samples/blob/master/cmd/samples/recipes/query/README.md
See more details in https://github.com/uber-common/cadence-samples/blob/master/cmd/samples/recovery/README.md