Closed Hi-king closed 3 years ago
class A(gokart.TaskOnKart): a = luigi.Parameter(default="a") def run(self): print(self.__class__) print(f"rerun: {self.rerun}") print(f"a: {self.a}") print(f"fail_on_empty_dump: {self.fail_on_empty_dump}") self.dump(pd.DataFrame([1])) class B(A): pass class C(A): pass class D(A): def requires(self): return [ A(rerun=False), B(), self.clone(C), ] gokart.build(D(rerun=True, a="b", fail_on_empty_dump=True), verbose=True)
<class '__main__.C'> rerun: False a: b fail_on_empty_dump: True <class '__main__.A'> rerun: False a: a fail_on_empty_dump: False <class '__main__.B'> rerun: False a: a fail_on_empty_dump: False <class '__main__.D'> rerun: True a: b fail_on_empty_dump: True
https://github.com/m3dev/gokart/blob/master/gokart/task.py#L136
I know rerun is a special case of .clone, but I think kwargs shouldn't be ignored
.clone
kwargs