如何在Temporal Python SDK中用一个活动的返回值作为另一活动输入
Temporal Python SDK:顺序活动传递返回值的解决方法
你只需要直接使用第一个活动执行后得到的scraper_result变量作为第二个活动的输入参数即可,修改后的代码如下:
@workflow.defn class ScraperWorkflow: @workflow.run async def run(self, scraper_input: ScraperInput): # 执行活动X,获取返回的文件路径 scraper_result = await workflow.execute_activity( ercot_scraper, scraper_input, # 建议补充活动超时配置,例如:schedule_to_close_timeout=timedelta(seconds=30) ) # 将第一个活动的返回值作为活动Y的输入 extractor_result = await workflow.execute_activity( extract_activity, scraper_result, # 替换为第一个活动的返回结果变量 # 同样建议补充超时配置 ) return extractor_result # 可按需返回最终结果
关键说明
await workflow.execute_activity是阻塞调用,会等待活动执行完成并返回结果,因此scraper_result就是第一个活动返回的文件路径。- 直接将
scraper_result作为第二个活动的输入参数传入,即可实现顺序活动间的结果传递。
内容的提问来源于stack exchange,提问作者user6794223
相关产品推荐
相关产品推荐

