【问题标题】:Local Prefect project won't print/log resultsLocal Prefect 项目不会打印/记录结果
【发布时间】:2021-11-29 12:02:58
【问题描述】:

我一直在尝试运行parametrised and connected flows

基本上,有一个任务返回一个参数字典 (make_poem),以及一个基于参数 (declaim_poem) 打印内容的流程。还有以下父流:

flow_run = StartFlowRun(flow_name="declaim_flow", project_name=project_name)
with Flow("param_flow") as flow:
    flow_run.set_upstream(task(make_poem), key="parameters")

比跑了,结果如下:

[2021-08-01 17:04:05+0200] INFO - prefect.FlowRunner | Beginning Flow run for 'param_flow'
[2021-08-01 17:04:05+0200] INFO - prefect.FlowRunner | Beginning Flow run for 'param_flow'
[2021-08-01 17:04:05+0200] INFO - prefect.FlowRunner | Beginning Flow run for 'param_flow'
[2021-08-01 17:04:05+0200] INFO - prefect.FlowRunner | Beginning Flow run for 'param_flow'
[2021-08-01 17:04:05+0200] INFO - prefect.TaskRunner | Task 'make_poem': Starting task run...
[2021-08-01 17:04:05+0200] INFO - prefect.TaskRunner | Task 'make_poem': Finished task run for task with final state: 'Success'
[2021-08-01 17:04:05+0200] INFO - prefect.TaskRunner | Task 'Flow declaim_flow': Starting task run...
[2021-08-01 17:04:06+0200] INFO - prefect.Flow declaim_flow | Flow Run: < cloud link >
[2021-08-01 17:04:06+0200] INFO - prefect.TaskRunner | Task 'Flow declaim_flow': Finished task run for task with final state: 'Success'
[2021-08-01 17:04:06+0200] INFO - prefect.FlowRunner | Flow run SUCCESS: all reference tasks succeeded

即使这是一个成功的结果,我也无法从declaim_poem 得到预期的输出(暗示,一首诗)在屏幕上打印出来。根据this page,我正在使用在declaim_poem 任务中实例化的记录器,而不是流。

在提供的 Prefect Cloud 链接中,我也找不到这首诗,只有所有流程中所有任务的成功结果。

关于我做错了什么有什么想法吗?

【问题讨论】:

    标签: python python-3.x prefect


    【解决方案1】:

    试试这个,不同的 API,但做与 StartRunFlow 相同的事情,输出 sub_flow 日志。

    from prefect import Flow
    
    from prefect.tasks.prefect.flow_run import create_flow_run, wait_for_flow_run
    
    with Flow("parent-flow") as flow:
    
        flow_1_run_id = create_flow_run(flow_name="sub_flow_1")
        wait_for_flow_run(flow_1_run_id, stream_logs=True)
    
        flow_2_run_id = create_flow_run(flow_name="sub_flow_2")
        wait_for_flow_run(flow_2_run_id, stream_logs=True)
    

    参考:https://www.prefect.io/blog/prefect-0-15-0-a-new-flow-run-experience/

    【讨论】:

      猜你喜欢
      • 2022-12-10
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多