Project Icon

cadence-web

分布式工作流引擎的可视化管理界面

Cadence Web UI 是 Cadence 分布式工作流引擎的可视化管理界面。它提供了查看、监控和调试工作流程的功能,支持自定义配置、本地开发和 Docker 部署。该项目具有 API 扩展能力,便于开发者进行二次开发和集成。Cadence Web UI 为管理分布式工作流提供了直观的操作体验。

Cadence Web 界面

构建状态 Docker 状态

Cadence 是我们在 Uber 工程团队开发的一个分布式、可扩展、持久且高可用的编排引擎,用于以可扩展和弹性的方式执行异步长时间运行的业务逻辑。

这个 Web 界面用于查看来自 Cadence 的工作流,查看正在运行的内容,以及探索和调试工作流执行。

演示使用

入门指南

配置

如果需要更改默认值,请设置以下环境变量

变量描述默认值
CADENCE_TCHANNEL_PEERS以逗号分隔的 tchannel 对等节点列表127.0.0.1:7933
CADENCE_TCHANNEL_SERVICE要调用的 cadence tchannel 服务名称cadence-frontend
CADENCE_WEB_PORT提供服务的 HTTP 端口8088
CADENCE_EXTERNAL_SCRIPTS在 UI 中提供的额外 JavaScript 标签
ENABLE_AUTH启用身份验证功能false
AUTH_TYPE当前支持 ADMIN_JWT''
AUTH_ADMIN_JWT_PRIVATE_KEYADMIN_JWT 类型的 JWT 签名私钥''

本地运行

cadence-web 需要 node v10.22.1 或更高版本才能正确运行。cadence-web 使用所有标准的 npm 脚本 来安装依赖项、运行服务器和运行测试。

为了提供一致的环境,我们建议在开发中使用 Docker。我们使用 docker-compose 为远程容器提供默认配置。

使用 VSCode 开发容器

  1. 在 VSCode 中设置 Remote Containers 插件
  2. 在 VSCode 中打开 cadence-web 目录。
  3. 使用命令面板选择"在容器中重新打开文件夹"选项。执行此操作时,npm install 应该会在容器中自动运行。
  4. 在容器中使用 npm run dev 运行应用程序。
  5. 打开 localhost:8088(或您定义的自定义 Cadence Web 端口)以加载 Web 应用程序。

使用 docker-compose 启动开发容器

要在代码更改时启动带有实时重载的本地服务器,可以运行 docker-compose up

对于开发和为 cadence-web 做贡献,请参阅 贡献指南

您也可以通过拉取 ubercadence/web 来使用 Docker。它也包含在 Cadence 服务器的 本地 Docker 设置 中。

API

如果您需要扩展 cadence-web 以向服务器添加中间件,您可以将 cadence-web 安装为依赖项,它将导出尚未启动或配置的 Koa Web 服务器。它包括一个额外的 init 函数,该函数将组合内置中间件。这为您提供了在调用 init 之前或之后添加中间件的选项,以便分别在链的开头或结尾添加中间件。

init(options)

所有选项都是可选的。

useWebpack:如果为 true,启动 webpack 并添加中间件;如果为 false,则假设 UI 包已经构建并静态提供。默认为 process.env.NODE_ENV === 'production'

logErrors:如果为 true,则将抛出的错误记录到 console.error。默认为 true

例如,以下是如何使用 uber-statsd-client 添加请求计数指标:

var app = require('cadence-web');
var createStatsd = require('uber-statsd-client');
var sdc = createStatsd({
  host: 'statsd.example.com',
});

app
  .use(async function(ctx, next) {
    sdc.increment('http.request');
    await next();
  })
  .init()
  .listen(7000);

webpack 配置也作为 webpackConfig 导出,可以在调用 init() 之前进行修改。

许可证

MIT 许可证,详情请参阅 LICENSE

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号