我正在尝试用一个prefect流包装一个类,该流目前通过类似于以下内容的类工作:
class Algorightm:
@task
def do_first(self, something):
....
@task
def do_second(self, something_else):
....
@flow
def start_flow(self):
do_first(..)
do_second(..)通常情况下,这是正常的,如果我将其分解为外部函数,流就会正常运行,这意味着如果我只在类的外部使用它,它会根据需要工作:
,这将工作
@task
def do_first(self, something):
....
@task
def do_second(self, something_else):
....
@flow
def start_flow(self):
do_first(..)
do_second(..)但是当在类中使用它时,它会给我一个递归错误。问题是,prefect是否支持在类中使用它的流?我在文档里找不到关于它的任何信息
发布于 2022-10-24 10:53:34
Prefect流必须是函数而不是类方法。否则,您将无法为其创建部署。但是,您可以在该函数中调用您的类,Prefect甚至可以使用Pydantic支持参数验证(如果您使用这个类获得pydantic模型样式的验证,则共享这个pydantic信息)。
https://stackoverflow.com/questions/74168859
复制相似问题