繁体   English   中英

如何在具有完美的流中缓存/定位具有相同名称的任务?

[英]How to cache/target tasks with the same name in a Flow with prefect?

我试图找到一个target模式或缓存配置来区分流中具有相同名称的任务。

在此处输入图像描述

如上图所示,只有一个任务被缓存,另一个被覆盖。 我尝试使用task-slug但无济于事。

@task(
    name="process_resource-{task_slug}",
    log_stdout=True,
    target=task_target
    )

提前致谢

看起来您正在尝试格式化任务名称而不是目标。 (任务名称不是可模板化的字符串)。

以下代码段可能是您想要的:

@task(name="process_resource", log_stdout=True, target="{task_name}-{task_slug}")

经过进一步研究, 文档似乎直接解决了动态更改任务配置的问题 - 没有破坏目标位置模板。

@task
def number_task():
    return 42

with Flow("example-v3") as f:
    result = number_task(task_args={"name": "new-name"})

print(f.tasks) # {<Task: new-name>}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM