我有一个定义如下的ExternalTask:
class MyExternalTask1(ExternalTask):
def output(self):
#<what can I do here to call 'load_instance' method and set the instance as a Target>
def load_instance(self):
"""Convenience method to load a :class:`.MyClass`"""
return MyClass()
我需要一种实例化外部类并将其设置为此ExternalTask的目标的方法。
我知道我可以使其成为常规类,在运行时调用“ load_instance”,然后将实例序列化为可设置为Target的输出文件。 但是我特别需要从ExternalTask进行操作的方法。
我的另一个要求是从包装器常规Task中调用ExternalTask并在其中使用“ Myclass”的实例。
类似,
class MyRegularTask1(luigi.Task):
def requires(self):
return {
'data': MyExternalTask1()
}
def run(self):
instance = (self.input()['data'].open('r'))
#This 'instance' should be the instance that was created in my ExternalTask and I should then be able to call a function of this instance.