Cadence
本仓库包含 Cadence 服务器和其他工具(包括 CLI、架构工具、基准测试和监控)的源代码。
您可以使用我们的客户端库之一来实现您的工作流程。 Go 和 Java 库由 Cadence 团队官方维护, 而 Python 和 Ruby 客户端库则由社区开发。
您还可以使用 iWF 作为 Cadence 之上的 DSL 框架。
请观看 Maxim 在 Data@Scale 大会 上的演讲,了解 Cadence 的架构概览。
访问 cadenceworkflow.io 以了解更多关于 Cadence 的信息。加入我们的 Cadence 文档 项目。欢迎在那里提出问题或提交拉取请求。
社区
- Github 讨论
- 最适合问答、支持/帮助、一般讨论和公告
- StackOverflow
- 最适合问答和一般讨论
- Github 问题
- 最适合报告错误和功能请求
- Slack
- 最适合贡献/开发讨论
入门
启动 cadence-server
要在本地运行 Cadence 服务,我们强烈建议您使用 Cadence 服务 docker 来运行服务。 您也可以按照 说明 来构建和运行它。
请访问我们的 文档 网站,了解生产/集群设置。
运行示例
使用 Cadence CLI
Cadence CLI 可用于操作工作流、任务列表、域甚至集群。
您可以通过以下方式安装 Cadence CLI:
- 使用 brew 安装 CLI:
brew install cadence-workflow
- 如果您需要通过 homebrew 安装旧版本的 CLI,请按照 说明 进行操作。通常只有在运行非常旧版本的服务器时才需要这样做。
- 使用 docker 镜像运行 CLI:
docker run --rm ubercadence/cli:<releaseVersion>
或docker run --rm ubercadence/cli:master
。当您想尝试新功能时,请务必更新您的镜像:docker pull ubercadence/cli:master
- 自行构建 CLI 二进制文件,检出仓库并运行
make cadence
以构建所有工具。有关 make 命令的先决条件,请参阅 CONTRIBUTING。 - 自行构建 CLI 镜像,请参阅 说明
Cadence CLI 是一个强大的工具。命令按 标签 组织。例如,workflow
->batch
->start
,或 admin
->workflow
->describe
。
请阅读 文档,并始终在任何标签上尝试 --help
以学习和探索。
使用 Cadence Web
尝试使用 Cadence Web UI 来查看您在 Cadence 上的工作流。 (如果您使用 docker compose 运行 Cadence,这已经在 localhost:8088 上可用)
贡献
我们很乐意您帮助我们使 Cadence 变得更好。请查看我们的 贡献指南。
如果您想提出新功能,请先加入 Slack 频道 开始讨论,并检查是否有现有的设计讨论。同时浏览我们的 设计文档,以防某个功能已经设计但尚未实现。一旦您确定提案没有在其他地方涉及,请按照我们的 提案说明 进行操作。
此仓库中的其他二进制文件
基准/压力测试工作流工具
请参阅 基准文档。
定期功能健康检查工作流工具(又称 Canary)
请参阅 canary 文档。
SQL 和 Cassandra 的架构工具
这些工具用于 手动设置或升级数据库架构
- 如果服务器使用 Cassandra 运行,请使用 Cadence Cassandra 工具
- 如果服务器使用 SQL 数据库运行,请使用 Cadence SQL 工具
获取架构工具的最简单方法是通过 homebrew。
brew install cadence-workflow
也包括 cadence-sql-tool
和 cadence-cassandra-tool
。
- 架构文件位于
/usr/local/etc/cadence/schema/
。 - 要升级,请确保先删除旧的 ElasticSearch 架构:
mv /usr/local/etc/cadence/schema/elasticsearch /usr/local/etc/cadence/schema/elasticsearch.old && brew upgrade cadence-workflow
。否则,ElasticSearch 架构可能无法更新。 - 如果您需要通过 homebrew 安装旧版本的架构工具,请按照 说明 进行操作。
然而,更简单的方法是使用新版本的架构工具和旧版本的架构。
您只需要从此仓库检出旧版本的架构。运行
git checkout v0.21.3
以获取 v0.21.3 版本的架构,这些架构位于 架构文件夹 中。
随时间变化的星标数
许可证
MIT 许可证,详情请参阅 LICENSE。