Chris Bui
08/23/2023, 3:00 PMChris Bui
08/23/2023, 3:01 PMreturn_state
argument to get the flow run id.
from prefect import flow, task, Flow
@task
def add_one(val):
return val + 1
@flow
def print_result():
result = add_one(1)
print(result)
@flow
def flow():
future = print_result(return_state=True)
return future
state = flow()
print(state.dict()["id"])
However, when i wrap these functions in a class, i get a prefect.exceptions.ParameterBindError
from prefect import flow, task
class MyClass():
val: int = 1
@task
def add_one(self):
return self.val + 1
@flow
def print_result(self):
result = self.add_one()
print(result)
@flow
def flow():
obj:MyClass = MyClass()
future = obj.print_result(return_state=True)
return future
state = flow()
Error message:
raise ParameterBindError.from_bind_failure(fn, exc, call_args, call_kwargs)
prefect.exceptions.ParameterBindError: Error binding parameters for function 'print_result': missing a required argument: 'self'.
Function 'print_result' has signature 'self' but received args: () and kwargs: {}.
Amogh Kulkarni
08/30/2023, 2:47 AM