我修改了一个简单的例子'favorite_number.py':
from prefect import flow
@flow
def my_favorite_function(myvar:str='1'):
print(f'nnLOCALS: {locals()}nn')
在代理端,输出为:
Agent started! Looking for work from queue 'Agent queue semua'...
12:51:44.174 | INFO | prefect.agent - Submitting flow run '4f147b53-2db8-4762-9f51-f0031a8f7eb1'
12:51:44.257 | INFO | prefect.infrastructure.process - Opening process 'stalwart-sparrow'...
12:51:44.261 | INFO | prefect.agent - Completed submission of flow run '4f147b53-2db8-4762-9f51-f0031a8f7eb1'
12:51:47.574 | INFO | Flow run 'stalwart-sparrow' - Finished in state Completed()
LOCALS: {'myvar': '1'}
12:51:48.012 | INFO | prefect.infrastructure.process - Process 'stalwart-sparrow' exited cleanly.
我发现"4f147b53-2db8-4762-9f51-f0031a8f7eb1"是流程运行id。
我的问题是:如何让My_favorite_function打印它的flow_run_id?事实上,我需要这个flow_run_id来处理州长之外的另一个进程。
真诚
-bino-
以下是如何在预取2:中获得您喜欢的函数来打印流运行ID
import prefect
from prefect import flow
@flow
def my_favorite_function():
run_id = prefect.context.get_run_context().flow_run.id
print(run_id)
if __name__ == "__main__":
my_favorite_function()