Slackbot
10/23/2024, 2:19 PMMarvin
10/23/2024, 2:20 PMWilliam Nono
10/23/2024, 2:20 PMWilliam Nono
10/23/2024, 2:21 PMWilliam Nono
10/23/2024, 2:23 PMWilliam Nono
10/23/2024, 2:31 PMMarvin
10/23/2024, 2:31 PMpython
from prefect import flow, task
from prefect.blocks.notifications import SlackWebhook
@task
def check_subflows(subflow_states):
    if any(state.is_failed() for state in subflow_states):
        notify_slack()
def notify_slack():
    webhook = SlackWebhook.load("my-slack-webhook")
    webhook.notify("A subflow has failed!")
@flow
def parent_flow():
    # Run subflows and collect their states
    subflow_states = []
    for _ in range(3):  # Assuming you have 3 subflows to run
        subflow_states.append(subflow.run())
    check_subflows(subflow_states)
@flow
def subflow():
    # Simulated subflow logic
    pass
if __name__ == "__main__":
    parent_flow()prefect blockWilliam Nono
10/23/2024, 2:32 PMMarvin
10/23/2024, 2:32 PM