次の依存構造を持つタスクがあるとします
class ParentTask(luigi.Task):
def requires(self):
return [ChildTask(classLevel=x) for x in self.class_level_list]
def run(self):
yadayda
子タスクはそれ自体で正常に実行されます。親は、すべての子タスクの完了ステータスを正しくチェックします。ただし、最初の子タスクが終了すると、スケジューラは親タスクを終了済みとしてマークします。次のメッセージが表示されます。
Scheduled 15 tasks of which:
* 3 ran successfully:
- 1 CleanRecord(...)
- 1 EstimateQuestionParameter(classLevel=6, qdt=2016-04-19, subject=english)
- 1 GetLog(classLevel=6, qdt=2016-04-19, subject=english)
* 12 were left pending, among these:
* 12 were left pending because of unknown reason:
- 5 EstimateQuestionParameter(classLevel=1...5, qdt=2016-04-19, subject=english)
- 5 GetLog(pool=None, classLevel=1...5, qdt=2016-04-19, subject=english)
- 1 UpdateQuestionParameter(qdt=2016-04-19, lastQdt=2016-03-23, subject=english, isInit=False)
- 1 UpdateQuestionParameterBuffer(qdt=2016-04-19, subject=english, src_table=edw.edw_behavior_question_record_exam_new)
This progress looks :) because there were no failed tasks or missing external dependencies