工作流元素封装 DeepFlow 后端能力,用于启动流程、驱动任务、发送流程消息及分页查询实例与待办。同步入口类为 WorkFlow,异步为 AsyncWorkFlow,二者 API 一致(异步方法需 await)。
更多说明可参考在线文档:
底层 HTTP 由 deepfos.api.workflow.WorkFlowAPI(module_type = WKFL)调用,元素类位于 deepfos.element.workflow。
from deepfos.element.workflow import WorkFlow
wf = WorkFlow(
element_name='MY_WKFL',
path='/Application/01_Finance/Workflows/MY_WKFL'
)
也可用 folder_id 代替 path 定位元素。
launch_process(param=None, file_path=None, comment=None):按字典传入与工作流启动参数定义一致的 param,可选附件路径与备注。
ret = wf.launch_process(
param={"year": "2024", "period": "3"},
comment='由脚本拉起'
)
batch_launch_process(params):批量启动。自 DeepFlow 特定版本起,列表项通常为带 alias、paramMap、comment 的字典(见 在线文档示例),以避免短时间重复单机启动间隔限制。
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'),
])
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
)
tasks = wf.get_task_by_param({"year": "2024"})
tasks = wf.get_task_by_business_key('BK_001')
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 返回结构兼容)。
ok = wf.complete_task_by_id(
task_id='fd94f6a7-3467-47f9-8a3c-ff626e68dcf5',
outcome='approve',
extra_res_params={'remark': '同意'},
comment='Completed by SDK'
)
broadcast、send_msg_to_processes:向当前工作流订阅方广播,或向指定流程实例 ID 列表发送消息。消息编码与消息体结构应先通过 msg_list 属性查看定义。
msgs = wf.msg_list # 同步包装下为属性访问,内部仍走 API
wf.broadcast(msg_code='MSG_001', msg_body={"key": "value"})
|
属性 / 方法 |
说明 |
|---|---|
|
|
当前工作流配置的启动参数定义 |
|
|
工作流全局变量列表 |
|
|
流程版本列表 |
|
|
消息定义列表 |
启动参数键名需与设计时在 DeepFlow 中配置的参数一致,可先查看 launch_params。
CompareType 支持 equal、like,用于业务键模糊或精确匹配。
StatusType 常用值:in_progress(InProgress)、completed(Completed)、terminated(Terminated)。
异步脚本中请使用 AsyncWorkFlow,并对上述方法使用 await。
附件:新版完成任务推荐使用 attachments 传上传结果;旧版 file_path 在部分工作流版本已弃用。
分页列表:list_process / list_my_task / list_claim_task 在 SDK 内会自动翻页聚合(单页 200 条),大数据量时注意耗时。
异常:接口失败会抛出 APIResponseError 等,请在集成层捕获并记录 task_id / proc_inst_id 便于排查。
回到顶部
咨询热线
