在阅读了关于基于文件目标的输出缓存 的文档后,我认为这个工作流应该是输出缓存的一个示例:
from time import sleep
from prefect import Flow, task
from prefect.engine.results import LocalResult
@task(target="func_task_target.txt", checkpoint=True,
result=LocalResult(dir="~/.prefect"))
def func_task():
sleep(5)
return 99
with Flow("Test-cache") as flow:
func_task()
if __name__ == '__main__':
flow.run()
我希望func_task
运行一次,得到缓存,然后在下次运行流程时使用缓存的值。但是,似乎func_task
每次都运行。
我哪里错了?还是我误解了文档?