FTP Check节点可用于通过FTP协议周期性检测指定文件是否存在。如果文件存在,则启动调度下游任务,不存在,则按照配置的间隔时间重复检测,直到满足检测的停止条件时停止检测。该节点通常作为DataWorks调度系统与其他调度系统之间传递信号使用。本文为您介绍使用FTP Check节点的流程和注意事项。
前提条件
- 已创建FTP数据源。
- 已创建好业务流程,详情请参见创建业务流程。
背景信息
FTP Check节点的典型应用场景:当DataWorks调度系统中的任务需要访问一个外部数据库时,但由于该数据库的相关数据写入任务不在DataWorks中,DataWorks无法知道该数据库何时完成写入任务并可以被访问。如果DataWorks读取未写入完成的数据,则可能导致读取的数据不全或读取失败。为了保证DataWorks成功读取完整的外部数据库的数据,此时,可以让其他调度系统在数据库中的数据写入任务完成后,在指定文件系统中进行文件标记(例如,生成一个
具体如下:
.done
文件),表明该任务已完成。然后在DataWorks中配置一个FTP Check节点,周期性检测该.done
文件是否存在,当检测到文件存在时,表明该数据库中的数据写入任务已经完成,可以启动调度需要访问该数据库数据的任务。
说明
- 其他调度系统可以自行指定生成标记文件的文件系统。
- 本文以生成的标记文件为
.done
示例,在实际使用中,您可以自定义标记文件的格式、名称等信息。

- 其他调度系统检测到外部数据库的数据已就绪(即数据写入已完成,可以被访问),会在指定的文件系统中生成一个标记文件,例如,
xxxx2021-03-03.done
。本文以.done
为后缀的文件做为标记文件,您也可以根据业务需求,自定义标记文件。 - FTP数据源读取文件系统中的标记文件。
- FTP Check节点根据配置的检测策略,定期检测FTP数据源中该标记文件是否存在。
- 如果检测该标记文件存在,则表示外部数据库中的数据已准备就绪,可以被访问,FTP Check节点会将检测成功的结果反馈至下游节点。
- 如果检测该标记文件不存在,则表示外部数据库中的数据未准备就绪,不能被访问,FTP Check节点会将检测失败并且不会调度下游节点的结果反馈至下游节点,并根据配置的检测策略继续检测,直到达到预设的检测上限后停止检测。
- 下游节点根据FTP Check节点的反馈结果,选择是否启动访问外部数据库的数据。
- 如果FTP Check节点反馈检测成功,则下游节点启动访问外部数据库的数据。
- 如果FTP Check节点反馈检测失败,则下游节点不启动访问外部数据库的数据。
- 下游节点访问外部数据库的数据。
说明 外部数据库可以包含但不限于Oracle、MySQL、SQLServer等各类数据库或存储服务。
使用限制
- FTP Check节点仅支持使用独享调度资源组。
- 分钟和小时周期调度的任务,FTP Check节点的Check停止策略不支持配置为Check停止时间,该类任务您只能选择使用Check停止次数停止策略。