Dify工作流在许多场景中需要依赖调度来实现自动化任务,如风险监控、数据分析、内容生成、数据同步等典型应用场景。然而,Dify原生并不支持调度功能。为解决这一问题,本文介绍如何集成XXL-JOB分布式任务调度,用于实现工作流应用的调度和状态监控,并确保工作流的稳定运行。
XXL-JOB调度核心功能
功能 | 概述 |
任务支持 | 支持调度自建的公网Dify工作流,以及阿里云内网环境下的自建Dify工作流。 |
灵活的时间配置 |
|
企业级报警与监控 |
|
可观测性与调度大盘 | 提供企业级调度大盘,展示实例和应用级别的调度情况,包括调度趋势、成功率、失败率等关键指标曲线。 |
执行历史与事件追踪 |
|
方案概览
配置XXL-JOB调度Dify工作流应用,只需3步:
创建Dify环境:创建一个ACK集群,在集群中安装ack-dify组件,然后访问Dify服务并创建工作流应用。
创建配置调度实例:通过创建XXL-JOB调度实例,在实例中创建应用对任务进行分组管理,然后配置任务参数连通Dify工作流应用。
测试接入情况:验证分布式调度功能是否能正常运行,并查看调度成功后的调度详情信息。
1. 创建Dify环境
①部署Dify环境 一键部署Dify环境,完成安装ack-dify组件、为Dify服务开启公网等操作。 说明 公网访问便于演示操作,如果您在生产环境中部署,为了您的应用数据安全,建议您开启访问控制功能。 如果您首次使用ACK集群,不了解集群的创建流程,您可以单击一键部署,创建Dify服务所需要的运行环境。本方案使用ACK应用市场的ack-dify应用模板,通过Helm低成本快速部署Dify应用,满足开发和测试需求。 重要 建议您在使用一键部署之前检查是否已开通和授权容器服务ACK集群。具体操作,请参见快速创建ACK托管集群。
ack-dify组件安装完成后,您可继续执行下一步操作。 | |
②查看外部IP地址(External IP)地址 配置完成后,依次单击网络 > 服务 > ack-dify,命名空间为dify-system,您会看到ack-dify服务的外部IP地址(External IP),将该外部IP地址输入浏览器地址栏即可访问Dify服务。 | |
③注册Dify服务 访问外部IP地址(External IP),请根据页面提示设置管理员账户(即邮箱地址、用户名和密码),以注册Dify平台来使用服务。 | |
④创建Dify工作流应用 为了后续的调度测试,您需要新建一个简单Dify工作流示例。您可将提供的文件dify-flow.yml导入Dify中,快速搭建工作流应用,并完成发布更新。 重要 通过XXL-JOB调度Dify工作流,仅支持Dify工作流应用,对于chat类型应用暂不支持。 |
2. 创建配置调度实例
①创建实例 登录XXL-JOB控制台,并在顶部菜单栏选择地域,单击创建实例,引擎版本≥2.2.0。 | |
②创建应用 在使用XXL-JOB任务前,您需要先创建应用。创建应用是为了对任务进行逻辑分组管理。每个应用可以视为一个独立的任务执行单元,便于后续对任务进行统一查看、配置和调度。 在XXL-JOB版实例页面,找到目标实例,在操作列单击任务管理。在左侧导航栏,选择应用管理,然后单击创建应用。
| |
③创建任务 任务是具体业务逻辑的调度单元,应用创建后,需要与任务执行器进行绑定,通过AppName注册到应用后,执行该应用下的任务。 说明 如果没有提前创建应用,执行器无法正确注册,导致任务无法正常调度和执行。
| |
④配置任务参数 Dify工作流应用发布更新后,选择访问API,即可查看所需的任务参数。
|
3. 测试接入情况
①运行测试任务 为了验证分布式调度功能是否能正常运行,您还需要对任务进行调度测试。您可以选择任务管理,单击运行一次,即可对调度任务进行测试。 | |
②查看调度详情 选择执行列表,单击详情,查看调度任务详情信息。可以看到测试调度任务已经成功,并可查看详情信息。 | |
③详情信息
|
免责声明
Dify on ACK是仅针对阿里云ACK环境适配开源项目Dify的Helm部署方案,实现Dify在ACK的快速部署。ACK不对Dify应用本身的运行或与其他生态系统组件(如插件、数据库等)的兼容性做出保障。对于您在使用Dify过程中因Dify本身及其生态组件的缺陷而导致业务受损的情况,ACK不提供赔偿或者补偿等商务服务。建议您关注开源社区的更新动态,主动修复开源软件中的问题,以确保Dify的稳定和安全。