Sylvain Hazard
11/23/2021, 10:45 AMAnna Geller
11/23/2021, 11:01 AMimport json
import requests
import prefect
from prefect import task, Flow
from prefect.backend.flow_run import FlowRunView
def send_report_on_success(task, old_state, new_state):
if new_state.is_successful():
result = new_state.result
<http://requests.post|requests.post>(url="webhook_url", data=json.dumps({"text": result}))
return new_state
@task(state_handlers=[send_report_on_success])
def return_some_data():
return "Some result"
with Flow(name="state-handler-demo-flow") as flow:
result = return_some_data()
Sylvain Hazard
11/23/2021, 11:06 AMAnna Geller
11/23/2021, 11:10 AMprefect.backend.artifacts.create_markdown_artifact(" # Header \n Hi Sylvain! ")
), but also returning it and passing to another task that may e.g. send it via Slack to someone.Sylvain Hazard
11/23/2021, 11:16 AM