跳到主要内容

定时执行类型流程搭建

入门概念

对于安捷云来说拉取数据可以分成两种类型的应用;
一种是钉钉、企微、飞书、星辰、T+等这种有消息触发的平台
一种是万里牛、旺店通、聚水潭等这种没有消息触发的平台
有消息触发的平台安捷云会对接他的消息,用户订阅消息之后有满足条件的数据就会自动触发到安捷云满足条件的流程中,无需安捷云去主动拉取。
没有消息触发的平台,安捷云可以定时启动一个任务去主动查询他的数据,调用接口拉取客户所需数据。
本章我们会讲解自定义流程如何搭建定时执行类的自定义流程如何搭建。

实战操作

以定时查询电商系统数据,传递到ERP系统中为例
首先我们可以从一个应用中创建自定义流程,可以从模板创建也可以从头创建
触发节点选择定时启动,在定时启动中默认了每周、每日、每月、每小时、表达式和按照固定间隔执行,我们在选择执行策略时一定要先想好我们的查询策略,例如按照发货时间查询已发货的销售出库单,那么目的系统如果没有数据去重功能,且我们不是本地部署的用户,则定时策略一定不能重复查询到一个数据。
若我们是本地部署用户,写入到目的系统的动作如果有批量创建的动作,我们可以忽略数据重复的问题,批量创建动作会自动去重。
以每小时启动为例

image
Preview

将是否在周末触发选择是,时间区间值代表我们定时执行每次查询的开始时间和结束时间,填写1即可,若有需求可以根据需求设置,时间区间单位指的是区间值的单位,定时启动,一般填写小时。
时间区间格式可以根据需求定义,此处以年-月-日 时:分:秒格式为例。
时间区间开闭,要取决于我们要查询的平台的规则,若查询接口,上传的时间是闭区间,那么我们就要选择闭区间,以防丢掉开区间的数据。
时间区间偏移是我们查询的时间是否要设置偏移量,单位是分钟,本地部署批量写单的客户可以适量增加1-2分钟,确保每次查询查询到足够的数据。
image
Preview

设置完成后点击保存并测试。
输出数据会返回定时执行的参数,一般我们用period中的start_date和end_date为接口的开始时间和结束时间,他们返回的是当前小时的上一个小时,是以小时为单位的,单位到小时不管分钟。
image
Preview

添加一个查询接口,传递他的查询开始时间和结束时间。
传递值的字段采用自定义的方式,选择定时执行返回值中的开始时间和结束时间传递,设置完成后点击保存并下一步。

image
Preview

查询到数据之后我们需要将数据整合成目的系统能够接收的格式,添加一个数据转换节点,设置字段映射规则,若本地部署批量写单得场景,则唯一标识选择查询出来的单据的唯一值,例如单号或者id,是否传递唯一标识选择是,如果没有批量写单动作,是本地部署的安捷云,则可以参考:https://doc.tizdata.com/af/2142 来设置对账日志,若是线上用户,则唯一标识不设置也不传递,但是要注意查询策略以防数据重复。数据转换的使用,可以参考文档:https://doc.tizdata.com/af/1668
image
Preview

设置完成后,添加写单接口,若接口不支持传递一批数据,则要设置循环节点进行循环调用创建单据的接口,此处要根据不通的场景进行设置,设置完成单据的创建规则,点击保存并跳过。**注意此处若点保存并下一步会真的调用接口创建单据,请谨慎操作
**
以上就是定时执行的设置流程,在定义定时执行的任务过程中需要明确自己的查询规则,确保自己的查询逻辑不会丢失数据,若没有数据去重,则要注意创建单据是否会一次创建多个会不会数据重复等问题。