工作流

工作流元素封装 DeepFlow 后端能力,用于启动流程、驱动任务、发送流程消息及分页查询实例与待办。同步入口类为 WorkFlow,异步为 AsyncWorkFlow,二者 API 一致(异步方法需 await)。

更多说明可参考在线文档:

底层 HTTP 由 deepfos.api.workflow.WorkFlowAPImodule_type = WKFL)调用,元素类位于 deepfos.element.workflow


Copy
from deepfos.element.workflow import WorkFlow

wf = WorkFlow(
    element_name='MY_WKFL',
    path='/Application/01_Finance/Workflows/MY_WKFL'
)

也可用 folder_id 代替 path 定位元素。


launch_processparam=None, file_path=None, comment=None):按字典传入与工作流启动参数定义一致的 param,可选附件路径与备注。

Copy
ret = wf.launch_process(
    param={"year": "2024", "period": "3"},
    comment='由脚本拉起'
)

batch_launch_processparams):批量启动。自 DeepFlow 特定版本起,列表项通常为带 aliasparamMapcomment 的字典(见 在线文档示例),以避免短时间重复单机启动间隔限制。

Copy
wf.batch_launch_process([
    dict(alias=1, paramMap={'input1': 'a', 'input2': 1}, comment='batch 1'),
    dict(alias=2, paramMap={'input1': 'b', 'input2': 2}, comment='batch 2'),
])

Copy
from deepfos.element.workflow import CompareType

instances = wf.get_process_by_param({"year": "2024"})
instances = wf.get_process_by_business_key(
    business_key='BK_001',
    compare_type=CompareType.equal
)
Copy
tasks = wf.get_task_by_param({"year": "2024"})
tasks = wf.get_task_by_business_key('BK_001')
Copy
from deepfos.element.workflow import StatusType

# 默认筛选进行中,可传多个状态
processes = wf.list_process(status=[StatusType.in_progress])
my_tasks = wf.list_my_task(status=[StatusType.in_progress])
claim_tasks = wf.list_claim_task()

# 需要表格分析时可转为 DataFrame
df = wf.list_process(status=[StatusType.completed], as_dataframe=True)

complete_task_by_id:根据任务 ID 完成用户任务;若分支不唯一,需指定 outcome(与任务可选结果编码一致)。可附加备注、extra_res_params,以及通过文件服务上传后的 attachments(与 PlatformAPI().file.upload 返回结构兼容)。

Copy
ok = wf.complete_task_by_id(
    task_id='fd94f6a7-3467-47f9-8a3c-ff626e68dcf5',
    outcome='approve',
    extra_res_params={'remark': '同意'},
    comment='Completed by SDK'
)

broadcastsend_msg_to_processes:向当前工作流订阅方广播,或向指定流程实例 ID 列表发送消息。消息编码与消息体结构应先通过 msg_list 属性查看定义。

Copy
msgs = wf.msg_list  # 同步包装下为属性访问,内部仍走 API
wf.broadcast(msg_code='MSG_001', msg_body={"key": "value"})

属性 / 方法

说明

launch_params

当前工作流配置的启动参数定义

global_params

工作流全局变量列表

all_version

流程版本列表

msg_list

消息定义列表


  • 启动参数键名需与设计时在 DeepFlow 中配置的参数一致,可先查看 launch_params

  • CompareType 支持 equallike,用于业务键模糊或精确匹配。

  • StatusType 常用值:in_progress(InProgress)、completed(Completed)、terminated(Terminated)。

  • 异步脚本中请使用 AsyncWorkFlow,并对上述方法使用 await


  1. 附件:新版完成任务推荐使用 attachments 传上传结果;旧版 file_path 在部分工作流版本已弃用。

  2. 分页列表list_process / list_my_task / list_claim_task 在 SDK 内会自动翻页聚合(单页 200 条),大数据量时注意耗时。

  3. 异常:接口失败会抛出 APIResponseError 等,请在集成层捕获并记录 task_id / proc_inst_id 便于排查。

回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send