You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.
Cadence Workflow is an open-source platform since 2017 for building and running scalable, fault-tolerant, and long-running workflows. This repository contains the core orchestration engine and tools including CLI, schema managment, benchmark and canary.
Getting Started
Cadence backend consists of multiple services, a database (Cassandra/MySQL/PostgreSQL) and optionally Kafka+Elasticsearch.
As a user, you need a worker which contains your workflow implementation.
Once you have Cadence backend and worker(s) running, you can trigger workflows by using SDKs or via CLI.
You can also use iWF as a DSL framework on top of Cadence.
CLI
Cadence CLI can be used to operate workflows, tasklist, domain and even the clusters.
You can use the following ways to install Cadence CLI:
Use brew to install CLI: brew install cadence-workflow
Follow the instructions if you need to install older versions of CLI via homebrew. Usually this is only needed when you are running a server of a too old version.
Use docker image for CLI: docker run --rm ubercadence/cli:<releaseVersion> or docker 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 binary yourself, check out the repo and run make cadence to build all tools. See CONTRIBUTING for prerequisite of make command.
The easiest way to get the schema tool is via homebrew.
brew install cadence-workflow also includes cadence-sql-tool and cadence-cassandra-tool.
The schema files are located at /usr/local/etc/cadence/schema/.
To upgrade, make sure you remove the old ElasticSearch schema first: mv /usr/local/etc/cadence/schema/elasticsearch /usr/local/etc/cadence/schema/elasticsearch.old && brew upgrade cadence-workflow. Otherwise ElasticSearch schemas may not be able to get updated.
Follow the instructions if you need to install older versions of schema tools via homebrew.
However, easier way is to use new versions of schema tools with old versions of schemas.
All you need is to check out the older version of schemas from this repo. Run git checkout v0.21.3 to get the v0.21.3 schemas in the schema folder.
Contributing
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.
Please visit our documentation site for production/cluster setup.
Apache 2.0 License, please see LICENSE for details.
About
Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.