Как кэшировать / таргетировать задачи с тем же именем в потоке с префектом?
Я пытаюсь найти target
шаблон или конфигурацию кеша, чтобы различать задачи с одинаковыми именами в потоке.
Как показано на диаграмме выше, только одна из задач кэшируется, а другая перезаписывается. Я пробовал использоватьtask-slug
но безрезультатно.
@task(
name="process_resource-{task_slug}",
log_stdout=True,
target=task_target
)
заранее спасибо
2 ответа
Решение
Похоже, вы пытаетесь отформатировать имя задачи вместо цели. (имена задач не являются строками, поддерживающими шаблоны).
Вероятно, вам нужен следующий фрагмент:
@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>}