跳转至

工作流运行与执行调度 (Running Workflows)

当工作流搭建装配完毕后,创作者即可触发调度执行。本文档系统剖析工作流的触发机制、局部按需计算、运行时动态追加入队、中断取消、画布实时状态解读、控制台日志排查以及文件保存机制。


触发全量工作流执行 (Running the whole workflow)

位于编辑器顶部页眉正中央的 Run Workflow 按钮,负责从拓扑起点开始调度当前流中的所有节点。

  • 快捷键:Shift + Cmd/Ctrl + Return/Enter;
  • 状态限制:当已有计算任务正在执行期间,或当前未打开任何工作流时,该按钮自动置灰禁用。

单节点与局部针对性计算 (Running a single node)

紧邻 Run Workflow 旁边的两个按钮允许创作者仅执行局部图谱,免去全流漫长等待。这两个按钮在画布上恰好选中唯一一个节点时激活:

  • Run To Selected (运行至选中项):沿着拓扑依赖链向上逆向回溯,仅计算该节点及其所有尚未就绪的上游前置依赖,彻底无视任何下游节点。
    • 快捷键:Cmd/Ctrl + Return/Enter(此快捷键支持多选生效,会并发计算至所有选中的节点);
    • 核心工作流:参数迭代黄金操作——微调某节点的提示词或数值,执行 Run To Selected 快速自检,极速获得反馈;
  • Run From Selected (从选中项起步运行):以当前选中的节点为起点,沿着拓扑链单向顺延向下执行后续的所有下游节点(上游必须处于已就绪状态)。该操作无专属热键,需点击按钮触发。

在运行期间动态插入节点 (Running a node during a run)

创作者完全无需等待当前全量计算结束即可随时尝试新节点:

在工作流计算进行中,Run To Selected 依然保持可用!点击后,该节点及其缺失的上游依赖会被平滑动态追加注入到当前正在运行的调度流水线中:

  • 并行模式 (Parallel Mode):若当前活跃执行节点数尚未达到并发上限(由配置项 max_nodes_in_parallel 控制,默认 5),新节点会即刻并发启动计算;
  • 串行模式 (Sequential Mode):新追加的节点会自动加入等待队列,在当前正在运行的节点计算完毕后自动按序出队执行。

特殊边界处理: - 若当前计算流处于暂停状态,新节点会被加入拓扑但维持待命,待单步继续时执行; - 若该节点早已处于运行队列中(正在算、已算完或排队中),系统会弹出提示拒绝重复入队,防止并发竞态。


中断与强制取消运行 (Stopping a run)

工作流执行期间,页眉调度区域会自动替换为红色的 Cancel Run (取消运行) 按钮。

点击后向引擎派发强行中断信号,按钮在等待线程收尾期间短暂呈现 Cancelling… 状态。引擎会优雅释放外部句柄,随后重新恢复常规的运行按钮。


画布实时状态胶囊指示器 (Reading execution state)

参与当前计算轮次的每一个算子节点,其标题栏右上角均会实时呈现动态状态胶囊药丸:

状态药丸外观 标识含义与技术表现
Running(橙色旋转加载中) 节点当前正在底层执行计算或等待网络回包。
Resolved(绿色对勾已就绪) 节点已成功计算完毕,其输出端口已就绪可供消费。
Error(红色感叹号异常报错) 节点运算抛出异常崩溃。鼠标悬停在药丸上即可直接查看完整报错弹窗。
Unresolved(蓝色未就绪) 节点在本轮计算中尚未被调度执行。

在未运行期间,节点名称旁边若出现一个小星号 *,同样代表该节点处于参数变动后的未就绪状态。运行结束后,发生报错的节点会永久固化保留其红色 Error 药丸,方便创作者在复杂画布中一眼定位排查。


实时执行日志面板 (The Logs panel)

右侧侧边栏中的 Execution Log 面板集中汇总了引擎在运行期间流式吐出的所有底层日志——涵盖引擎系统的内部状态流转以及各个算子节点打印的输出,每条日志清晰打标归属的节点别名:

  • Log Level Visibility (日志级别过滤):下拉调节引擎的日志捕获详细度(DEBUG、INFO、WARNING、ERROR、CRITICAL);
  • 实时显示筛选 (Filter):在面板上方勾选或取消特定级别标签,仅在前端视图中隐藏噪音,不影响引擎的全局捕获;
  • 下载落盘 (Download):点击下载图标可将当前过滤出的日志导出为带精确毫秒时间戳的 .txt 文本;
  • 清屏 (Clear):点击橡皮擦图标清空当前面板日志;
  • 日志行数上限:点击齿轮设置图标可调整内存中常驻保留的最大日志行数(自动滚动跟随最新行)。

全局异常历史记录 (Error History)

页眉右上角常驻着带有未读计数角标的 Error History (错误历史) 按钮。与局限于单次运行的日志面板不同,该列表记录了整个会话期间产生的所有异常与权限阻断拦截记录:

点击唤出下拉弹窗,每一项均带有发生时间的相对时间戳。点击任意一条记录即可展开查看底层 Python 异常堆栈的模态弹窗。支持点击清空全部或逐一移除。


工程文件保存策略与自动保存 (Saving)

当存在任何未落盘的编辑改动时,页眉工作流名称后会自动附带星号 * 标识:

  • Save (Cmd/Ctrl+S):就地覆盖保存;对于首次创建未命名的工作流,会弹出命名保存窗口;
  • Save As (Cmd/Ctrl+Shift+S):另存为独立新副本文件;官方示例模板默认只读,必须通过另存为进行副本编辑;
  • Save As New Version (Option/Alt+Shift+S):另存为带自增序号的版本化快照(如 my_workflow_v002.py),详见 工作流版本迭代快照。

计算执行期间禁止触发文件保存

当工作流正在运行时,所有保存操作均会被底层引擎严格加锁阻断!此时触发保存会弹出 Cannot Save While Flow is Running 提示框(弹窗内贴心提供了直接点击 Cancel Flow 取消计算的快捷按钮)。

自动保存配置 (Auto-save)

进入 Settings → Editor Settings → Auto-Save Settings 可开启无感后台自动保存: - Auto-Save Interval (seconds):设置定时探测并保存的时间周期(秒); - Auto-Save Notifications:开启或关闭每次自动保存成功时的屏幕右下角气泡提示。

自动保存仅在“已存在本地文件路径且处于未运行空闲状态”时才会触发静默刷盘,绝不会在运算中强行抢锁。


开发者诊断模式 (Developer Mode)

进入 Settings → Editor Settings → Developer Mode 开启专为底层图分析设计的开发者模式:

开启后,每个算子节点下方会展开一条折叠的 Developer Mode 依赖条,清晰罗列出所有向其输送真实数据的上游数据依赖节点(剔除纯控制流连线),并实时打标各上游的就绪状态图标(✓ 已就绪、↻ 计算中、✗ 报错、○ 未就绪)。点击任意依赖标签,画布会自动平移聚焦至该上游节点,极速追踪陈旧数据的源头。

此外,开发者模式会在节点的右键菜单中追加 Mark as unresolved (强制标为未就绪) 操作:用于在节点参数完全没有变动的前提下,强行迫使其及其所有下游依赖重置归零,从而强制引擎在下一次运行时必须重新计算(常用于外部本地文件已被修改、需强行重跑的场景)。