예제 #1
0
    task_id='task_1',
    dag=dag1,
    owner='airflow')

dag1_task2 = SendEventOperator(
    task_id='task_2',
    dag=dag1,
    owner='airflow',
    uri="localhost:{0}".format(port),
    event=Event(key="key_1", value="value_1"))

dag1_task3 = BashOperator(
    bash_command="sleep 5",
    task_id='task_3',
    dag=dag1,
    owner='airflow')

dag1_task4 = SendEventOperator(
    task_id='task_4',
    dag=dag1,
    owner='airflow',
    uri="localhost:{0}".format(port),
    event=Event(key="stop", value="value_1"))


dag1_task1.add_event_dependency("key_1", "UNDEFINED")
dag1_task1.add_event_dependency("stop", "UNDEFINED")
dag1_task1.set_event_met_handler(StopRestartEventMetHandler())

dag1_task3.set_downstream(dag1_task4)
op_2 = SendEventOperator(task_id='2_job',
                         dag=dag,
                         uri='localhost:50051',
                         event=Event(key='key_1',
                                     value='value_1',
                                     event_type='UNDEFINED'))
op_3 = SendEventOperator(task_id='3_job',
                         dag=dag,
                         uri='localhost:50051',
                         event=Event(key='key_2',
                                     value='value_2',
                                     event_type='UNDEFINED'))
op_4 = BashOperator(task_id='4_job',
                    dag=dag,
                    bash_command='echo "4 hello word!"',
                    env={"a": "a"})
op_5 = SendEventOperator(task_id='5_job',
                         dag=dag,
                         uri='localhost:50051',
                         event=Event(key='key_2',
                                     value='value_2',
                                     event_type='STOP_SCHEDULER_CMD'))
op_2.set_upstream(op_0)
op_2.set_upstream(op_1)
op_4.add_event_dependency('key_1', 'UNDEFINED')
op_4.add_event_dependency('key_2', 'UNDEFINED')
configs_op_4 = '[{"__af_object_type__": "jsonable", "__class__": "MetConfig", "__module__": "ai_flow.graph.edge", "action": "START", "condition": "NECESSARY", "event_key": "key_1", "event_type": "UNDEFINED", "event_value": "value_1", "life": "ONCE", "value_condition": "EQUAL"}, {"__af_object_type__": "jsonable", "__class__": "MetConfig", "__module__": "ai_flow.graph.edge", "action": "START", "condition": "NECESSARY", "event_key": "key_2", "event_type": "UNDEFINED", "event_value": "value_2", "life": "ONCE", "value_condition": "EQUAL"}]'

op_4.set_event_met_handler(AIFlowMetHandler(configs_op_4))
op_5.set_upstream(op_4)
예제 #3
0
           start_date=timezone.utcnow(),
           schedule_interval="@once")

dag1_task1 = BashOperator(bash_command="sleep 15",
                          task_id='task_1',
                          dag=dag1,
                          owner='airflow')

dag1_task2 = SendEventOperator(task_id='task_2',
                               dag=dag1,
                               owner='airflow',
                               uri="localhost:{0}".format(port),
                               event=Event(key="key_1", value="value_1"))

dag1_task3 = BashOperator(bash_command="sleep 5",
                          task_id='task_3',
                          dag=dag1,
                          owner='airflow')

dag1_task4 = SendEventOperator(task_id='task_4',
                               dag=dag1,
                               owner='airflow',
                               uri="localhost:{0}".format(port),
                               event=Event(key="restart", value="value_1"))

dag1_task1.add_event_dependency("key_1", "UNDEFINED")
dag1_task1.add_event_dependency("restart", "UNDEFINED")
dag1_task1.set_event_met_handler(StopRestartEventMetHandler())

dag1_task3.set_downstream(dag1_task4)