У меня есть 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()
Мне нужен способ создания экземпляра внешнего класса и установки его в качестве Target для этой ExternalTask.
Я знаю, что могусделайте его обычным классом, вызовите «load_instance» при запуске, а затем сериализуйте экземпляр в выходной файл, который можно установить как Target.Но мне особенно нужен способ сделать это из ExternalTask.
Также мое другое требование - вызвать ExternalTask из обычного Task-обертки и использовать в нем экземпляр 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.