簡體   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