SLA о времени запуска оператора - PullRequest
1 голос
/ 16 апреля 2020

Я создал группу доступности базы данных, которая начинается в полночь каждый день недели. Он содержит датчик, который ожидает события в базе данных, после которого начинается фактическая работа. Событие может произойти через 1 минуту после запуска DAG или через 10 часов после запуска DAG (и это нормально). Я не хочу включать время, затраченное на ожидание срабатывания датчика, в SLA.

Итак, я хочу управлять SLA на времени выполнения оператора , а не на DAG от начала до конца. Возможно ли это?

Ниже будет управлять с момента запуска DAG (хотя SLA определен на операторе)

DEFAULT_ARGS = {
    'owner': 'abc@def.com',
    'depends_on_past': False,
    'start_date': datetime(2020, 3, 1)
}

with DAG('Start a job',
         description='Start DAG which waits for event and then executes the job.',
         catchup=False,
         schedule_interval="0 0 * * 1-5",
         default_args=DEFAULT_ARGS) as dag:

    DWH_SENSOR = WarehouseMilestoneSensor(
        task_id="wait_for_warehouse_milestone"
    )

    START_JOB = SqlAgentOperator(job_name='ClientValueScore',
                                  await_completion=True,
                                  mssql_conn_id="sqlagent",
                                  task_id="start-ClientValueScore-job",
                                  sla=timedelta(minutes=150))

    DWH_SENSOR >> START_JOB
...