工作流调用
已经编好的工作流不用重做——可以让一个工作流去调用另一个,也可以让定时任务直接用现成的。
本篇只管"调用 / 复用"这件事。想改工作流见修改已有工作流。
一、让一个工作流调用另一个
什么情况用得上
你有好几个采集任务,开头都要先登录、先切到某个筛选条件。 把这段单独编成一个工作流(比如叫「登录后台」),其余的调用它就行—— 以后登录方式变了,只改那一个。
怎么做
在采集需求里直接点名,例如:
先执行「登录后台」这个工作流,然后采集订单列表的编号和金额
AI 会去你本机已有的工作流里按名字和描述找。找到唯一一个就直接接上; 如果找不到、或者找到好几个,它会列出来问你选哪个——不会替你瞎猜。
名字起得清楚,它才找得准
被调用的那个工作流,名字和描述写得越具体越好。你有两个名字很像的工作流时, 它就只能来问你了。
运行时日志里长什么样
| 日志里写的 | 带什么标签 |
|---|---|
| 开始执行子流程「登录后台」 | 调用子流程 |
| 子流程执行完成,回到调用页面继续 | 子流程完成 |
第一句表示它去跑那一个了,第二句表示跑完自己回来了。
括号里那句是给排查用的
偶尔会看到一行结尾多出一个括号写着「(跨过 N 层子流程)」—— 意思是这次记录来自好几层调用里面。排查时才用得上,平时不用管。
调用出错会看到什么
| 日志里写的 | 什么意思 | 怎么办 |
|---|---|---|
| 子流程调用失败: 后面跟原因 | 调用这一步没走通 | 看原因,多半是被调用的那个工作流出了问题 |
| 被调用的工作流不存在(#编号) | 被调用的那个工作流被删了 | 见下面的警告 |
| 子流程调用的目标页面无效 | 子流程要用的那个页面不对或没了 | 把它要用的页面打开,再点「恢复」 |
| 子流程执行页面未响应(标签页 #编号) | 那个页面卡死了 | 刷新那个标签页,再点「恢复」 |
被调用的工作流,删不得
删掉以后,调用它的工作流跑到那一步就跑不下去了——日志里写「被调用的工作流不存在」, 后面括号里是被删掉的那个编号。
注意:删工作流的时候界面不会提醒你有别的工作流正在用它。所以删之前自己想一想。
真删了要修:让它改成调用一个新的工作流——回「AI 编译生成」把这件事说清楚, 或者干脆重新编一条。
子流程是"独立的一段"
外面存着的东西它看不到,它自己算出来的东西也不会自动跑到外面来。
所以别指望它顺手把数据带回来——需要它交回结果时,在需求里直接说清楚就行。
二、让定时任务复用现成的工作流
定时任务不用重新编一套。建任务时在「选择工作流」里挑一个你已经编好的就行。
建好之后,扩展会为这个工作流再套一层壳,专门用来逐个跑你配的那批网址。 日志里那个工作流会以「定时任务「某某」的包装工作流」的名字出现——看到它别奇怪,就是这一层。
报「执行体缺失」怎么办
如果你看到:
执行体缺失(包装工作流不存在),请编辑任务后重新保存
意思是你把那个工作流删了,任务失去了执行对象。
照它说的做就行:打开这个任务,重新选一个工作流,再保存一次。
任务卡片上也会显示「工作流已删除」的标签,是同一个问题。