我如何在 Python Luigi 任务管理器中表示子流?
How do I represent subflows in Python Luigi task manager?
假设我有流程 A->B。此流程的用户需要 B。假设我有一个任务 C,它需要 B,但我希望 D 在流程 A->B 之前发生。我如何在 Luigi 中执行此操作?
一种解决方案是将 C 的要求传递到子流 A->B:
import luigi
class A(luigi.Task):
precedes = luigi.Parameter()
def requires(self):
return self.precedes
class B(luigi.Task):
precedes = luigi.Parameter()
def requires(self):
return A(precedes = self.precedes)
class D(luigi.Task):
pass
class C(luigi.Task):
def requires(self):
return B(precedes = D())
假设我有流程 A->B。此流程的用户需要 B。假设我有一个任务 C,它需要 B,但我希望 D 在流程 A->B 之前发生。我如何在 Luigi 中执行此操作?
一种解决方案是将 C 的要求传递到子流 A->B:
import luigi
class A(luigi.Task):
precedes = luigi.Parameter()
def requires(self):
return self.precedes
class B(luigi.Task):
precedes = luigi.Parameter()
def requires(self):
return A(precedes = self.precedes)
class D(luigi.Task):
pass
class C(luigi.Task):
def requires(self):
return B(precedes = D())