Visit cadenceworkflow.io to learn about Cadence.
This repo contains the source code of the Cadence server. To implement workflows, activities and worker use Go client or Java client.
See Maxim's talk at Data@Scale Conference for an architectural overview of Cadence.
We highly recommend that you use Cadence service docker to run the service.
Try out the sample recipes for Go or Java to get started.
Java and Golang clients are developed by Cadence team:
Other clients are developed by community:
-
Use Cadence command-line tool to perform various tasks on Cadence server cluster
- Use brew to install CLI:
brew install cadence-workflow
- Use docker image for CLI:
docker run --rm ubercadence/cli:<releaseVersion>
ordocker run --rm ubercadence/cli:master
. Be sure to update your image when you want to try new features:docker pull ubercadence/cli:master
- Build the CLI image, see instructions
- Check out the repo and run
make cadence
to build all tools. See CONTRIBUTING for prerequisite of make command.
- Use brew to install CLI:
-
For manual setup or upgrading server schema --
- Use brew to install CLI:
brew install cadence-workflow
which also includescadence-sql-tool
andcadence-cassandra-tool
- If server runs with Cassandra, Use Cadence Cassandra tool to perform various tasks on database schema of Cassandra persistence
- If server runs with SQL database, Use Cadence SQL tool to perform various tasks on database schema of SQL based persistence
- Use brew to install CLI:
Tips: Use
make tools
to build all tools
Try out Cadence Web UI to view your workflows on Cadence. (This is already available at localhost:8088 if you run Cadence with docker compose)
Visit cadenceworkflow.io for documentation.
Join us in Cadence Docs project. Raise an Issue or Pull Request there.
We'd love your help in making Cadence great. Please review our contribution guide.
If you'd like to propose a new feature, first join the Slack channel to start a discussion and check if there are existing design discussions. Also peruse our design docs in case a feature has been designed but not yet implemented. Once you're sure the proposal is not covered elsewhere, please follow our proposal instructions.
MIT License, please see LICENSE for details.