функция захвата API на поток воздуха? - PullRequest
0 голосов
/ 25 октября 2018

меня обыскали на предмет захвата на документах воздушного потока .

, но я до сих пор не понимаю, какова цель этого API.

catchup (bool) - Выполнить захват планировщика (или только запустить последний)?По умолчанию True

спасибо

1 Ответ

0 голосов
/ 25 октября 2018

Вы найдете расширенное объяснение в документах о планировании обратной засыпки и захвата .

Позвольте мне попытаться раскрыть его на примере.

Предположим, этокалендарь на январь этого года:

    January 2018
Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

Допустим, вы добавили DAG 23-го числа с start_date=datetime(2018, 1, 1) и schedule_interval='0 0 * * MON'.

С catchup=True при первом разборе DAG-планировщика.немедленно распознает, что периоды с 1-1 по 1-8, с 1-8 по 1-15, с 1-15 по 1-22 закрыты и прошли.Он запланирует запуск группы доступности базы данных для execution_date 2018-01-01, начиная с добавления группы доступности базы данных 23-го числа.Если есть max_active_runs > 2, он также запланировал бы запуск группы обеспечения доступности баз данных для 2018-01-08 и 2018-01-15.

При catchup=False при первом анализе группы доступности базы данных планировщик все равно распознает, что те же периоды были закрыты и прошли,Но он запланировал бы запуск группы доступности базы данных только для execution_date 2018-01-15, начиная с добавления группы доступности базы данных 23-го числа.То есть сначала будет выполняться самый последний закрытый период, а не предыдущие периоды.Следующим запуском будет 2018-01-22, начиная с 2018-01-29T00:00:00±scheduler_lag.Но если после выполнения 2018-01-15 вы приостановите DAG, а затем отмените его на 2018-01-29T09:00, планировщик увидит, что есть предыдущие прогоны DAG, и что время начала самого последнего периода уже прошло, он не будетзапустите прогон этого пропущенного периода.

...