Вы можете использовать PyPNG . Это чистый Python (без зависимостей) с открытым исходным кодом PNG-кодировщик / декодер, и он поддерживает запись массивов NumPy в виде изображений.
Когда вы изменяете переключатель планировщика на «вкл» для группы обеспечения доступности баз данных, планировщик запускает обратную засыпку всех экземпляров прогона dag, для которых у него нет записанного статуса, начиная с даты start_date, которую вы указали в «default_args».
Например: если начальная дата была «2017-01-21», а вы включили переключатель планирования на «2017-01-22T00: 00: 00», и ваш dag был настроен на ежечасную работу, то планировщик будет выполняется обратная засыпка 24 дня, а затем запускается с запланированным интервалом.
Это, по сути, то, что происходит в обоих ваших вопросах. В # 1 он заполняет 3 пропущенных прогона из 30 секунд, которые вы выключили планировщик. В # 2 он заполняет все прогоны DAG от start_date до «сейчас».
Существует два способа решения этой проблемы:
Вручную запустите обратную засыпку из командной строки с флагом «-m», который говорит воздушному потоку не запускать DAG, а просто пометить его как успешный в БД ( https: //airflow.incubator .apache.org / cli.html ).
например. airflow backfill MY_tutorial -m -s 2016-10-04 -e 2017-01-22T14:28:30