Как вытащить переменную xcom из предыдущего запуска - PullRequest
1 голос
/ 31 января 2020

Как вытащить переменную xcom из предыдущего запуска в поток воздуха? Возможно ли это?

Я хочу использовать значение из того же task_id в предыдущем run_id, что и в переменной jinja для аргумента data в SimpeHttpOperator.

f

Я просматриваю документы макросов https://airflow.apache.org/docs/stable/macros.html и не могу найти никакого документированного способа сделать это.

UPD Пример:

select_expired = SimpleHttpOperator(
    task_id='select_expired',
    http_conn_id='clickhouse_http',
    endpoint='/',
    method='POST',
    data=REQUESTED_EXPIRED_FLIGHTS,
    xcom_push=True,
    pool='clickhouse_select',
    dag=dag
)

где REQUESTED_EXPIRED_FLIGHTS:

insert into table where column = '{{ ??????? (value returned in previous task) }}'

1 Ответ

1 голос
/ 01 февраля 2020

Вы должны иметь возможность получить доступ к предыдущему параметру task_instance, используя previous_ti()

Затем вы можете использовать get_state(), чтобы получить его состояние и выполнять действия на его основе.

...