关于分支任务choose_best_model能否携带data返回'is_accurate'的问询
分支任务返回时传递参数的实现方法
当然可以在返回is_accurate分支时携带data参数,只需要调整分支任务的返回格式,把任务名称和参数以元组的形式返回即可。
修改后的代码如下:
@task.branch def choose_best_model(accuracy): data = "Cool" if accuracy > 5: # 以元组形式返回任务名和要传递的参数 return ('is_accurate', data) return 'is_inaccurate' @task def is_accurate(data): print(f"Received data: {data}") pass @task def is_inaccurate(): pass
说明
在Prefect的分支任务中,当你需要给目标任务传递参数时,返回值需要是一个元组:
- 第一个元素是目标任务的名称(字符串类型)
- 后续元素就是要传递给该任务的参数,数量和顺序要和目标任务的参数列表对应
这样choose_best_model在触发is_accurate时,就会把data参数传递过去,is_accurate任务就能正常接收并使用这个参数了。
内容的提问来源于stack exchange,提问作者QDex
相关产品推荐
相关产品推荐

