如何覆盖 luigi complete() 方法,以便底层任务知道之前的任务已经完成?
How to override luigi complete() method so that the underlying task will come to know the previous ones were completed?
我有以下任务:
class TaskA(ExternalProgramTask):
def program_args(self):
return ["/simpleScripts/shell5.bash"]
def program_environment(self):
env = os.environ.copy()
return env
shell 脚本 运行 正确。在此之后,如果我尝试 运行 任何其他任务,这些任务将因在 TaskA 中抛出 "unfulfilled dependency error" 而失败。
我理解的原因是 Luigi 通常会在创建 localTarget 时使用 output() 方法,因此 Luigi 会知道该任务已完成。
在 运行ning shell 脚本中,我没有任何 localTarget,因此
luigi无法理解它是否完成。如何使其正确?
重写 Luigi 的 complete 方法,return如果所有需要的操作都完成则为真
class TaskA(luigi.Task):
data_text = luigi.Parameter()
def complete(self):
print("The task is complete")
print("The data text", self.data_text)
return True
luigi --module [File_Name] TaskA --data-text "Welcome" --local-scheduler
我有以下任务:
class TaskA(ExternalProgramTask):
def program_args(self):
return ["/simpleScripts/shell5.bash"]
def program_environment(self):
env = os.environ.copy()
return env
shell 脚本 运行 正确。在此之后,如果我尝试 运行 任何其他任务,这些任务将因在 TaskA 中抛出 "unfulfilled dependency error" 而失败。
我理解的原因是 Luigi 通常会在创建 localTarget 时使用 output() 方法,因此 Luigi 会知道该任务已完成。
在 运行ning shell 脚本中,我没有任何 localTarget,因此 luigi无法理解它是否完成。如何使其正确?
重写 Luigi 的 complete 方法,return如果所有需要的操作都完成则为真
class TaskA(luigi.Task):
data_text = luigi.Parameter()
def complete(self):
print("The task is complete")
print("The data text", self.data_text)
return True
luigi --module [File_Name] TaskA --data-text "Welcome" --local-scheduler