Marvin
09/17/2024, 2:21 PMCompleted
or Failed
based on some condition:
python
from prefect import task, flow
from prefect.states import Completed, Failed
@task
def my_task(condition):
if condition:
return Completed(message="Task completed successfully")
else:
return Failed(message="Task failed")
@flow
def my_flow():
state = my_task(condition=True)
print(state)
if __name__ == "__main__":
my_flow()
Reference: Prefect 2.0: States Documentation
### For Prefect 3.x:
The approach is quite similar. You can set the state by returning a Completed
or Failed
state object from the task.
python
from prefect import task, flow
from prefect.states import Completed, Failed
@task
def toggle_task(fail: bool):
if fail:
return Failed(message="I was instructed to fail.")
else:
return Completed(message="I was instructed to succeed.")
@flow
def example():
state_one = toggle_task(fail=True)
print(state_one)
if __name__ == "__main__":
example()
Reference: Prefect 3.0: Manage States
Feel free to try out the examples based on your Prefect version, and let me know if you have any other questions!Bring your towel and join one of the fastest growing data communities. Welcome to our second-generation open source orchestration platform, a completely rethought approach to dataflow automation.
Powered by