You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ep...@apache.org on 2022/04/30 22:35:36 UTC

[airflow-site] branch 2.3.0-docs created (now f27e4b314)

This is an automated email from the ASF dual-hosted git repository.

ephraimanierobi pushed a change to branch 2.3.0-docs
in repository https://gitbox.apache.org/repos/asf/airflow-site.git


      at f27e4b314 Add documentation for Apache Airflow 2.3.0

This branch includes the following new commits:

     new f27e4b314 Add documentation for Apache Airflow 2.3.0

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[airflow-site] 01/01: Add documentation for Apache Airflow 2.3.0

Posted by ep...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ephraimanierobi pushed a commit to branch 2.3.0-docs
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit f27e4b31433231ed534c4c4412c5c77801914a02
Author: Ephraim Anierobi <sp...@gmail.com>
AuthorDate: Sat Apr 30 23:34:17 2022 +0100

    Add documentation for Apache Airflow 2.3.0
---
 .../2.3.0}/.buildinfo                              |     2 +-
 .../2.3.0/_api/airflow/exceptions/index.html       |  1576 +++
 .../airflow/executors/base_executor/index.html}    |  1105 +-
 .../airflow/executors/celery_executor/index.html}  |  1052 +-
 .../celery_kubernetes_executor/index.html}         |   925 +-
 .../airflow/executors/dask_executor/index.html}    |   757 +-
 .../airflow/executors/debug_executor/index.html}   |   785 +-
 .../executors/executor_constants/index.html}       |   548 +-
 .../airflow/executors/executor_loader/index.html}  |   656 +-
 .../2.3.0/_api/airflow/executors}/index.html       |   346 +-
 .../executors/kubernetes_executor/index.html}      |  1084 +-
 .../airflow/executors/local_executor/index.html}   |  1077 +-
 .../local_kubernetes_executor/index.html}          |   924 +-
 .../executors/sequential_executor/index.html}      |   746 +-
 .../2.3.0/_api/airflow/hooks/S3_hook/index.html}   |   499 +-
 .../2.3.0/_api/airflow/hooks/base/index.html}      |   959 +-
 .../2.3.0/_api/airflow/hooks/base_hook/index.html} |   499 +-
 .../2.3.0/_api/airflow/hooks/dbapi/index.html}     |  1059 +-
 .../_api/airflow/hooks/dbapi_hook/index.html}      |   499 +-
 .../_api/airflow/hooks/docker_hook/index.html}     |   499 +-
 .../_api/airflow/hooks/druid_hook/index.html}      |   499 +-
 .../_api/airflow/hooks/filesystem/index.html}      |   579 +-
 .../2.3.0/_api/airflow/hooks/hdfs_hook/index.html} |   499 +-
 .../_api/airflow/hooks/hive_hooks/index.html}      |   499 +-
 .../2.3.0/_api/airflow/hooks/http_hook/index.html} |   499 +-
 .../2.3.0/_api/airflow/hooks/index.html}           |   521 +-
 .../2.3.0/_api/airflow/hooks/jdbc_hook/index.html} |   499 +-
 .../_api/airflow/hooks/mssql_hook/index.html}      |   499 +-
 .../_api/airflow/hooks/mysql_hook/index.html}      |   499 +-
 .../_api/airflow/hooks/oracle_hook/index.html}     |   499 +-
 .../2.3.0/_api/airflow/hooks/pig_hook/index.html}  |   499 +-
 .../_api/airflow/hooks/postgres_hook/index.html}   |   499 +-
 .../_api/airflow/hooks/presto_hook/index.html}     |   499 +-
 .../_api/airflow/hooks/samba_hook/index.html}      |   499 +-
 .../_api/airflow/hooks/slack_hook/index.html}      |   499 +-
 .../_api/airflow/hooks/sqlite_hook/index.html}     |   499 +-
 .../_api/airflow/hooks/subprocess/index.html}      |   768 +-
 .../_api/airflow/hooks/webhdfs_hook/index.html}    |   499 +-
 .../_api/airflow/hooks/zendesk_hook/index.html}    |   499 +-
 .../airflow/models/abstractoperator/index.html     |  1494 +++
 .../2.3.0/_api/airflow/models/base/index.html}     |   813 +-
 .../_api/airflow/models/baseoperator/index.html    |  2348 ++++
 .../_api/airflow/models/connection/index.html}     |  1102 +-
 .../2.3.0/_api/airflow/models/crypto/index.html}   |   871 +-
 .../2.3.0/_api/airflow/models/dag/index.html       |  3088 +++++
 .../2.3.0/_api/airflow/models/dagbag/index.html}   |   973 +-
 .../2.3.0/_api/airflow/models/dagcode/index.html}  |   939 +-
 .../2.3.0/_api/airflow/models/dagparam/index.html} |   513 +-
 .../_api/airflow/models/dagpickle/index.html}      |   607 +-
 .../2.3.0/_api/airflow/models/dagrun/index.html    |  1610 +++
 .../airflow/models/db_callback_request/index.html} |   830 +-
 .../2.3.0/_api/airflow/models/errors/index.html}   |   776 +-
 .../2.3.0/_api/airflow/models/index.html}          |   786 +-
 .../2.3.0/_api/airflow/models/log/index.html}      |   850 +-
 .../_api/airflow/models/mappedoperator/index.html  |  1888 +++
 .../2.3.0/_api/airflow/models/operator/index.html} |   532 +-
 .../2.3.0/_api/airflow/models/param/index.html}    |  1067 +-
 .../2.3.0/_api/airflow/models/pool/index.html}     |  1065 +-
 .../airflow/models/renderedtifields/index.html}    |   944 +-
 .../_api/airflow/models/sensorinstance/index.html} |   990 +-
 .../_api/airflow/models/serialized_dag/index.html} |  1098 +-
 .../_api/airflow/models/skipmixin/index.html}      |   828 +-
 .../2.3.0/_api/airflow/models/slamiss/index.html}  |   844 +-
 .../2.3.0/_api/airflow/models/taskfail/index.html} |   859 +-
 .../_api/airflow/models/taskinstance/index.html    |  2381 ++++
 .../2.3.0/_api/airflow/models/tasklog/index.html}  |   613 +-
 .../2.3.0/_api/airflow/models/taskmap/index.html}  |   886 +-
 .../_api/airflow/models/taskmixin/index.html}      |  1131 +-
 .../_api/airflow/models/taskreschedule/index.html} |   917 +-
 .../2.3.0/_api/airflow/models/trigger/index.html}  |   904 +-
 .../2.3.0/_api/airflow/models/variable/index.html} |  1003 +-
 .../2.3.0/_api/airflow/models/xcom/index.html}     |  1014 +-
 .../2.3.0/_api/airflow/models/xcom_arg/index.html} |   920 +-
 .../2.3.0/_api/airflow/operators/bash/index.html}  |   947 +-
 .../airflow/operators/bash_operator/index.html}    |   778 +-
 .../_api/airflow/operators/branch/index.html}      |   847 +-
 .../airflow/operators/branch_operator/index.html}  |   778 +-
 .../airflow/operators/check_operator/index.html}   |   840 +-
 .../airflow/operators/dagrun_operator/index.html}  |   778 +-
 .../_api/airflow/operators/datetime/index.html}    |   856 +-
 .../airflow/operators/docker_operator/index.html}  |   778 +-
 .../operators/druid_check_operator/index.html}     |   778 +-
 .../2.3.0/_api/airflow/operators/dummy/index.html} |   817 +-
 .../airflow/operators/dummy_operator/index.html}   |   803 +-
 .../2.3.0/_api/airflow/operators/email/index.html} |   870 +-
 .../airflow/operators/email_operator/index.html}   |   778 +-
 .../2.3.0/_api/airflow/operators/empty/index.html} |   841 +-
 .../_api/airflow/operators/gcs_to_s3/index.html}   |   778 +-
 .../airflow/operators/generic_transfer/index.html} |   870 +-
 .../google_api_to_s3_transfer/index.html}          |   806 +-
 .../airflow/operators/hive_operator/index.html}    |   778 +-
 .../operators/hive_stats_operator/index.html}      |   778 +-
 .../airflow/operators/hive_to_druid/index.html}    |   806 +-
 .../airflow/operators/hive_to_mysql/index.html}    |   806 +-
 .../operators/hive_to_samba_operator/index.html}   |   778 +-
 .../airflow/operators/http_operator/index.html}    |   778 +-
 .../2.3.0/_api/airflow/operators/index.html}       |   827 +-
 .../airflow/operators/jdbc_operator/index.html}    |   778 +-
 .../_api/airflow/operators/latest_only/index.html} |   841 +-
 .../operators/latest_only_operator/index.html}     |   778 +-
 .../airflow/operators/mssql_operator/index.html}   |   778 +-
 .../airflow/operators/mssql_to_hive/index.html}    |   806 +-
 .../airflow/operators/mysql_operator/index.html}   |   778 +-
 .../airflow/operators/mysql_to_hive/index.html}    |   804 +-
 .../airflow/operators/oracle_operator/index.html}  |   778 +-
 .../operators/papermill_operator/index.html}       |   778 +-
 .../airflow/operators/pig_operator/index.html}     |   778 +-
 .../operators/postgres_operator/index.html}        |   778 +-
 .../operators/presto_check_operator/index.html}    |   828 +-
 .../airflow/operators/presto_to_mysql/index.html}  |   806 +-
 .../2.3.0/_api/airflow/operators/python/index.html |  1572 +++
 .../airflow/operators/python_operator/index.html}  |   778 +-
 .../operators/redshift_to_s3_operator/index.html}  |   805 +-
 .../s3_file_transform_operator/index.html}         |   779 +-
 .../operators/s3_to_hive_operator/index.html}      |   804 +-
 .../operators/s3_to_redshift_operator/index.html}  |   806 +-
 .../airflow/operators/slack_operator/index.html}   |   778 +-
 .../_api/airflow/operators/smooth/index.html}      |   838 +-
 .../2.3.0/_api/airflow/operators/sql/index.html    |  1590 +++
 .../operators/sql_branch_operator/index.html}      |   804 +-
 .../airflow/operators/sqlite_operator/index.html}  |   778 +-
 .../_api/airflow/operators/subdag/index.html}      |   917 +-
 .../airflow/operators/subdag_operator/index.html}  |   778 +-
 .../airflow/operators/trigger_dagrun/index.html}   |   945 +-
 .../_api/airflow/operators/weekday/index.html}     |   849 +-
 .../_api/airflow/secrets/base_secrets/index.html}  |   812 +-
 .../secrets/environment_variables/index.html}      |   743 +-
 .../2.3.0/_api/airflow/secrets}/index.html         |   384 +-
 .../airflow/secrets/local_filesystem/index.html}   |   859 +-
 .../_api/airflow/secrets/metastore/index.html}     |   550 +-
 .../2.3.0/_api/airflow/sensors/base/index.html}    |   977 +-
 .../sensors/base_sensor_operator/index.html}       |   691 +-
 .../2.3.0/_api/airflow/sensors/bash/index.html}    |   755 +-
 .../_api/airflow/sensors/date_time/index.html}     |   841 +-
 .../airflow/sensors/date_time_sensor/index.html}   |   505 +-
 .../_api/airflow/sensors/external_task/index.html} |   950 +-
 .../sensors/external_task_sensor/index.html}       |   505 +-
 .../_api/airflow/sensors/filesystem/index.html}    |   763 +-
 .../_api/airflow/sensors/hdfs_sensor/index.html}   |   505 +-
 .../sensors/hive_partition_sensor/index.html}      |   505 +-
 .../_api/airflow/sensors/http_sensor/index.html}   |   505 +-
 .../2.3.0/_api/airflow/sensors/index.html}         |   527 +-
 .../sensors/metastore_partition_sensor/index.html} |   506 +-
 .../named_hive_partition_sensor/index.html}        |   505 +-
 .../2.3.0/_api/airflow/sensors/python/index.html}  |   760 +-
 .../_api/airflow/sensors/s3_key_sensor/index.html} |   505 +-
 .../airflow/sensors/s3_prefix_sensor/index.html}   |   505 +-
 .../_api/airflow/sensors/smart_sensor/index.html}  |  1115 +-
 .../2.3.0/_api/airflow/sensors/sql/index.html}     |   780 +-
 .../_api/airflow/sensors/sql_sensor/index.html}    |   505 +-
 .../_api/airflow/sensors/time_delta/index.html}    |   785 +-
 .../airflow/sensors/time_delta_sensor/index.html}  |   505 +-
 .../_api/airflow/sensors/time_sensor/index.html}   |   785 +-
 .../airflow/sensors/web_hdfs_sensor/index.html}    |   505 +-
 .../2.3.0/_api/airflow/sensors/weekday/index.html} |   778 +-
 .../2.3.0/_api/airflow/timetables/base/index.html} |  1009 +-
 .../_api/airflow/timetables/events/index.html}     |   607 +-
 .../2.3.0/_api/airflow/timetables}/index.html      |   318 +-
 .../_api/airflow/timetables/interval/index.html}   |   913 +-
 .../_api/airflow/timetables/simple/index.html}     |   622 +-
 docs-archive/apache-airflow/2.3.0/_api/index.html  |     1 +
 .../apache-airflow/2.3.0/_images/add-dag-tags.png  |   Bin 0 -> 68537 bytes
 .../apache-airflow/2.3.0/_images/add-role.png      |   Bin 0 -> 30509 bytes
 .../apache-airflow/2.3.0/_images/airflow.gif       |   Bin 0 -> 416302 bytes
 .../apache-airflow/2.3.0/_images/apache.jpg        |   Bin 0 -> 43364 bytes
 .../2.3.0/_images/arch-diag-basic.png              |   Bin 0 -> 16357 bytes
 .../2.3.0/_images/arch-diag-kubernetes.png         |   Bin 0 -> 21804 bytes
 .../2.3.0/_images/arch-diag-kubernetes2.png        |   Bin 0 -> 86384 bytes
 .../2.3.0/_images/arch-diag-logging.png            |   Bin 0 -> 25843 bytes
 .../apache-airflow/2.3.0/_images/basic-dag.png     |   Bin 0 -> 5393 bytes
 .../apache-airflow/2.3.0/_images/branch_note.png   |   Bin 0 -> 31771 bytes
 .../2.3.0/_images/branch_with_trigger.png          |   Bin 0 -> 34081 bytes
 .../2.3.0/_images/branch_without_trigger.png       |   Bin 0 -> 39815 bytes
 .../apache-airflow/2.3.0/_images/calendar.png      |   Bin 0 -> 58726 bytes
 .../2.3.0/_images/cli_completion.gif               |   Bin 0 -> 775263 bytes
 docs-archive/apache-airflow/2.3.0/_images/code.png |   Bin 0 -> 169890 bytes
 .../2.3.0/_images/connection_create.png            |   Bin 0 -> 52889 bytes
 .../2.3.0/_images/connection_edit.png              |   Bin 0 -> 31186 bytes
 .../apache-airflow/2.3.0/_images/context.png       |   Bin 0 -> 124467 bytes
 .../apache-airflow/2.3.0/_images/dag_doc.png       |   Bin 0 -> 40094 bytes
 .../2.3.0/_images/dag_file_processing_diagram.png  |   Bin 0 -> 263825 bytes
 .../2.3.0/_images/dag_serialization.png            |   Bin 0 -> 99917 bytes
 .../apache-airflow/2.3.0/_images/dags-page-new.png |   Bin 0 -> 483599 bytes
 .../apache-airflow/2.3.0/_images/dags-page-old.png |   Bin 0 -> 493009 bytes
 docs-archive/apache-airflow/2.3.0/_images/dags.png |   Bin 0 -> 211122 bytes
 .../default_instance_name_configuration.png        |   Bin 0 -> 154888 bytes
 .../apache-airflow/2.3.0/_images/duration.png      |   Bin 0 -> 150876 bytes
 .../2.3.0/_images/edge_label_example.png           |   Bin 0 -> 24592 bytes
 .../2.3.0/_images/email_connection.png             |   Bin 0 -> 59515 bytes
 .../example_instance_name_configuration.png        |   Bin 0 -> 154915 bytes
 .../2.3.0/_images/example_passing_conf.png         |   Bin 0 -> 41080 bytes
 .../apache-airflow/2.3.0/_images/gantt.png         |   Bin 0 -> 70606 bytes
 .../2.3.0/_images/graph-view-new.png               |   Bin 0 -> 56973 bytes
 .../2.3.0/_images/graph-view-old.png               |   Bin 0 -> 54884 bytes
 .../apache-airflow/2.3.0/_images/graph.png         |   Bin 0 -> 128870 bytes
 ...iz-91fd3ca4f3dc01a69b3f84fbcd6b5c7975945ba4.png |   Bin 0 -> 39639 bytes
 ...1fd3ca4f3dc01a69b3f84fbcd6b5c7975945ba4.png.map |     2 +
 docs-archive/apache-airflow/2.3.0/_images/grid.png |   Bin 0 -> 347155 bytes
 .../2.3.0/_images/grid_instance_details.png        |   Bin 0 -> 287820 bytes
 .../2.3.0/_images/grid_mapped_task.png             |   Bin 0 -> 334409 bytes
 .../2.3.0/_images/grid_run_details.png             |   Bin 0 -> 243661 bytes
 .../2.3.0/_images/grid_task_group.png              |   Bin 0 -> 56287 bytes
 .../2.3.0/_images/k8s-failed-pod.png               |   Bin 0 -> 18937 bytes
 .../2.3.0/_images/k8s-happy-path.png               |   Bin 0 -> 17257 bytes
 .../2.3.0/_images/latest_only_with_trigger.png     |   Bin 0 -> 42887 bytes
 .../2.3.0/_images/mapping-simple-graph.png         |   Bin 0 -> 7676 bytes
 .../2.3.0/_images/mapping-simple-grid.png          |   Bin 0 -> 179670 bytes
 .../apache-airflow/2.3.0/_images/new-role.png      |   Bin 0 -> 14115 bytes
 .../2.3.0/_images/new_tutorial-1.png               |   Bin 0 -> 51356 bytes
 .../2.3.0/_images/new_tutorial-3.png               |   Bin 0 -> 58198 bytes
 .../2.3.0/_images/operator_extra_link.png          |   Bin 0 -> 90359 bytes
 .../apache-airflow/2.3.0/_images/pin_large.png     |   Bin 0 -> 24922 bytes
 .../2.3.0/_images/run_task_on_celery_executor.png  |   Bin 0 -> 55939 bytes
 .../2.3.0/_images/smart_sensor_architecture.png    |   Bin 0 -> 80325 bytes
 .../smart_sensor_single_task_execute_flow.png      |   Bin 0 -> 75462 bytes
 .../apache-airflow/2.3.0/_images/subdag_after.png  |   Bin 0 -> 30245 bytes
 .../apache-airflow/2.3.0/_images/subdag_before.png |   Bin 0 -> 70382 bytes
 .../apache-airflow/2.3.0/_images/subdag_zoom.png   |   Bin 0 -> 145017 bytes
 .../apache-airflow/2.3.0/_images/task_doc.png      |   Bin 0 -> 245714 bytes
 .../apache-airflow/2.3.0/_images/task_group.gif    |   Bin 0 -> 609981 bytes
 .../2.3.0/_images/task_lifecycle_diagram.png       |   Bin 0 -> 58659 bytes
 .../2.3.0/_images/task_manual_vs_scheduled.png     |   Bin 0 -> 5686 bytes
 .../2.3.0/_images/template_field_renderer_path.png |   Bin 0 -> 64442 bytes
 .../apache-airflow/2.3.0/_images/tree-view-new.png |   Bin 0 -> 36934 bytes
 .../apache-airflow/2.3.0/_images/tree-view-old.png |   Bin 0 -> 21601 bytes
 .../2.3.0/_images/ui-alert-message.png             |   Bin 0 -> 7909 bytes
 .../2.3.0/_images/ui-timezone-chooser.png          |   Bin 0 -> 16644 bytes
 .../2.3.0/_images/usage_cli_export.png             |   Bin 0 -> 397830 bytes
 .../2.3.0/_images/usage_cli_imgcat.png             |   Bin 0 -> 475224 bytes
 .../2.3.0/_images/variable_hidden.png              |   Bin 0 -> 55331 bytes
 .../apache-airflow/2.3.0/_images/watcher.png       |   Bin 0 -> 41592 bytes
 .../2.3.0/_modules/airflow/exceptions.html}        |   961 +-
 .../_modules/airflow/executors/base_executor.html} |  1017 +-
 .../airflow/executors/celery_executor.html         |  1439 +++
 .../executors/celery_kubernetes_executor.html}     |   859 +-
 .../_modules/airflow/executors/dask_executor.html} |   429 +-
 .../airflow/executors/debug_executor.html}         |   441 +-
 .../airflow/executors/executor_constants.html}     |   317 +-
 .../airflow/executors/executor_loader.html}        |   451 +-
 .../airflow/executors/kubernetes_executor.html     |  1681 +++
 .../airflow/executors/local_executor.html}         |   825 +-
 .../executors/local_kubernetes_executor.html}      |   858 +-
 .../airflow/executors/sequential_executor.html}    |   367 +-
 .../2.3.0/_modules/airflow/hooks/base.html}        |   457 +-
 .../2.3.0/_modules/airflow/hooks/dbapi.html}       |  1008 +-
 .../2.3.0/_modules/airflow/hooks/filesystem.html}  |   343 +-
 .../2.3.0/_modules/airflow/hooks/subprocess.html}  |   397 +-
 .../2.3.0/_modules/airflow/macros.html}            |   369 +-
 .../2.3.0/_modules/airflow/macros/hive.html}       |   400 +-
 .../_modules/airflow/models/abstractoperator.html  |  1292 ++
 .../2.3.0/_modules/airflow/models/base.html}       |   354 +-
 .../_modules/airflow/models/baseoperator.html      |  2624 ++++
 .../2.3.0/_modules/airflow/models/connection.html  |  1308 ++
 .../2.3.0/_modules/airflow/models/crypto.html}     |   376 +-
 .../2.3.0/_modules/airflow/models/dag.html         |  3889 ++++++
 .../2.3.0/_modules/airflow/models/dagbag.html      |  1523 +++
 .../2.3.0/_modules/airflow/models/dagcode.html}    |   849 +-
 .../2.3.0/_modules/airflow/models/dagpickle.html}  |   343 +-
 .../2.3.0/_modules/airflow/models/dagrun.html      |  1939 +++
 .../airflow/models/db_callback_request.html}       |   344 +-
 .../2.3.0/_modules/airflow/models/errors.html}     |   327 +-
 .../2.3.0/_modules/airflow/models/log.html}        |   358 +-
 .../_modules/airflow/models/mappedoperator.html    |  1685 +++
 .../2.3.0/_modules/airflow/models/operator.html}   |   318 +-
 .../2.3.0/_modules/airflow/models/param.html}      |   903 +-
 .../2.3.0/_modules/airflow/models/pool.html}       |   934 +-
 .../_modules/airflow/models/renderedtifields.html} |   677 +-
 .../_modules/airflow/models/sensorinstance.html}   |   477 +-
 .../_modules/airflow/models/serialized_dag.html}   |   769 +-
 .../2.3.0/_modules/airflow/models/skipmixin.html}  |   473 +-
 .../2.3.0/_modules/airflow/models/slamiss.html}    |   337 +-
 .../2.3.0/_modules/airflow/models/taskfail.html}   |   374 +-
 .../_modules/airflow/models/taskinstance.html      |  3519 +++++
 .../2.3.0/_modules/airflow/models/tasklog.html}    |   334 +-
 .../2.3.0/_modules/airflow/models/taskmap.html}    |   365 +-
 .../2.3.0/_modules/airflow/models/taskmixin.html}  |   987 +-
 .../_modules/airflow/models/taskreschedule.html}   |   427 +-
 .../2.3.0/_modules/airflow/models/trigger.html}    |   626 +-
 .../2.3.0/_modules/airflow/models/variable.html}   |   928 +-
 .../2.3.0/_modules/airflow/models/xcom.html        |  1539 +++
 .../2.3.0/_modules/airflow/models/xcom_arg.html}   |   478 +-
 .../2.3.0/_modules/airflow/operators/bash.html}    |   627 +-
 .../2.3.0/_modules/airflow/operators/branch.html}  |   346 +-
 .../airflow/operators/check_operator.html}         |   388 +-
 .../_modules/airflow/operators/datetime.html}      |   396 +-
 .../2.3.0/_modules/airflow/operators/dummy.html}   |   337 +-
 .../airflow/operators/dummy_operator.html}         |   330 +-
 .../2.3.0/_modules/airflow/operators/email.html}   |   378 +-
 .../2.3.0/_modules/airflow/operators/empty.html}   |   326 +-
 .../airflow/operators/generic_transfer.html}       |   395 +-
 .../operators/google_api_to_s3_transfer.html}      |   342 +-
 .../_modules/airflow/operators/hive_to_druid.html} |   341 +-
 .../_modules/airflow/operators/hive_to_mysql.html} |   341 +-
 .../_modules/airflow/operators/latest_only.html}   |   370 +-
 .../_modules/airflow/operators/mssql_to_hive.html} |   341 +-
 .../_modules/airflow/operators/mysql_to_hive.html} |   336 +-
 .../airflow/operators/presto_check_operator.html}  |   370 +-
 .../airflow/operators/presto_to_mysql.html}        |   341 +-
 .../2.3.0/_modules/airflow/operators/python.html   |  1421 ++
 .../operators/redshift_to_s3_operator.html}        |   340 +-
 .../airflow/operators/s3_to_hive_operator.html}    |   336 +-
 .../operators/s3_to_redshift_operator.html}        |   341 +-
 .../2.3.0/_modules/airflow/operators/smooth.html}  |   289 +-
 .../2.3.0/_modules/airflow/operators/sql.html      |  1418 ++
 .../airflow/operators/sql_branch_operator.html}    |   332 +-
 .../2.3.0/_modules/airflow/operators/subdag.html}  |   889 +-
 .../airflow/operators/trigger_dagrun.html}         |   845 +-
 .../2.3.0/_modules/airflow/operators/weekday.html} |   365 +-
 .../2.3.0/_modules/airflow/secrets.html}           |   324 +-
 .../_modules/airflow/secrets/base_secrets.html}    |   442 +-
 .../airflow/secrets/environment_variables.html}    |   351 +-
 .../airflow/secrets/local_filesystem.html}         |   990 +-
 .../2.3.0/_modules/airflow/secrets/metastore.html} |   361 +-
 .../2.3.0/_modules/airflow/sensors/base.html}      |  1027 +-
 .../2.3.0/_modules/airflow/sensors/bash.html}      |   375 +-
 .../2.3.0/_modules/airflow/sensors/date_time.html} |   387 +-
 .../_modules/airflow/sensors/external_task.html}   |   747 +-
 .../_modules/airflow/sensors/filesystem.html}      |   361 +-
 .../2.3.0/_modules/airflow/sensors/python.html}    |   360 +-
 .../_modules/airflow/sensors/smart_sensor.html     |  1617 +++
 .../2.3.0/_modules/airflow/sensors/sql.html}       |   403 +-
 .../_modules/airflow/sensors/time_delta.html}      |   350 +-
 .../_modules/airflow/sensors/time_sensor.html}     |   358 +-
 .../2.3.0/_modules/airflow/sensors/weekday.html}   |   380 +-
 .../2.3.0/_modules/airflow/timetables/base.html}   |   479 +-
 .../2.3.0/_modules/airflow/timetables/events.html} |   406 +-
 .../_modules/airflow/timetables/interval.html}     |   970 +-
 .../2.3.0/_modules/airflow/timetables/simple.html} |   392 +-
 .../2.3.0}/_modules/index.html                     |   269 +-
 .../_sources/_api/airflow/exceptions/index.rst.txt |   385 +
 .../airflow/executors/base_executor/index.rst.txt  |   244 +
 .../executors/celery_executor/index.rst.txt        |   222 +
 .../celery_kubernetes_executor/index.rst.txt       |   127 +
 .../airflow/executors/dask_executor/index.rst.txt  |    68 +
 .../airflow/executors/debug_executor/index.rst.txt |    82 +
 .../executors/executor_constants/index.rst.txt     |    49 +
 .../executors/executor_loader/index.rst.txt        |   105 +
 .../_sources/_api/airflow/executors/index.rst.txt  |    30 +
 .../executors/kubernetes_executor/index.rst.txt    |   221 +
 .../airflow/executors/local_executor/index.rst.txt |   211 +
 .../local_kubernetes_executor/index.rst.txt        |   125 +
 .../executors/sequential_executor/index.rst.txt    |    66 +
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |    11 +
 .../_sources/_api/airflow/hooks/base/index.rst.txt |   183 +
 .../_api/airflow/hooks/base_hook/index.rst.txt     |    11 +
 .../_api/airflow/hooks/dbapi/index.rst.txt         |   190 +
 .../_api/airflow/hooks/dbapi_hook/index.rst.txt    |    11 +
 .../_api/airflow/hooks/docker_hook/index.rst.txt   |    11 +
 .../_api/airflow/hooks/druid_hook/index.rst.txt    |    11 +
 .../_api/airflow/hooks/filesystem/index.rst.txt    |    46 +
 .../_api/airflow/hooks/hdfs_hook/index.rst.txt     |    11 +
 .../_api/airflow/hooks/hive_hooks/index.rst.txt    |    11 +
 .../_api/airflow/hooks/http_hook/index.rst.txt     |    11 +
 .../_sources/_api/airflow/hooks/index.rst.txt      |    43 +
 .../_api/airflow/hooks/jdbc_hook/index.rst.txt     |    11 +
 .../_api/airflow/hooks/mssql_hook/index.rst.txt    |    11 +
 .../_api/airflow/hooks/mysql_hook/index.rst.txt    |    11 +
 .../_api/airflow/hooks/oracle_hook/index.rst.txt   |    11 +
 .../_api/airflow/hooks/pig_hook/index.rst.txt      |    11 +
 .../_api/airflow/hooks/postgres_hook/index.rst.txt |    11 +
 .../_api/airflow/hooks/presto_hook/index.rst.txt   |    11 +
 .../_api/airflow/hooks/samba_hook/index.rst.txt    |    11 +
 .../_api/airflow/hooks/slack_hook/index.rst.txt    |    11 +
 .../_api/airflow/hooks/sqlite_hook/index.rst.txt   |    11 +
 .../_api/airflow/hooks/subprocess/index.rst.txt    |    64 +
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |    11 +
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |    11 +
 .../airflow/models/abstractoperator/index.rst.txt  |   270 +
 .../_api/airflow/models/base/index.rst.txt         |    65 +
 .../_api/airflow/models/baseoperator/index.rst.txt |   909 ++
 .../_api/airflow/models/connection/index.rst.txt   |   226 +
 .../_api/airflow/models/crypto/index.rst.txt       |    94 +
 .../_sources/_api/airflow/models/dag/index.rst.txt |  1171 ++
 .../_api/airflow/models/dagbag/index.rst.txt       |   145 +
 .../_api/airflow/models/dagcode/index.rst.txt      |   128 +
 .../_api/airflow/models/dagparam/index.rst.txt     |    11 +
 .../_api/airflow/models/dagpickle/index.rst.txt    |    58 +
 .../_api/airflow/models/dagrun/index.rst.txt       |   333 +
 .../models/db_callback_request/index.rst.txt       |    64 +
 .../_api/airflow/models/errors/index.rst.txt       |    52 +
 .../_sources/_api/airflow/models/index.rst.txt     |   138 +
 .../_sources/_api/airflow/models/log/index.rst.txt |    81 +
 .../airflow/models/mappedoperator/index.rst.txt    |   426 +
 .../_api/airflow/models/operator/index.rst.txt     |    14 +
 .../_api/airflow/models/param/index.rst.txt        |   171 +
 .../_api/airflow/models/pool/index.rst.txt         |   186 +
 .../airflow/models/renderedtifields/index.rst.txt  |   132 +
 .../airflow/models/sensorinstance/index.rst.txt    |   166 +
 .../airflow/models/serialized_dag/index.rst.txt    |   231 +
 .../_api/airflow/models/skipmixin/index.rst.txt    |    75 +
 .../_api/airflow/models/slamiss/index.rst.txt      |    76 +
 .../_api/airflow/models/taskfail/index.rst.txt     |    89 +
 .../_api/airflow/models/taskinstance/index.rst.txt |   790 ++
 .../_api/airflow/models/tasklog/index.rst.txt      |    57 +
 .../_api/airflow/models/taskmap/index.rst.txt      |   103 +
 .../_api/airflow/models/taskmixin/index.rst.txt    |   217 +
 .../airflow/models/taskreschedule/index.rst.txt    |   125 +
 .../_api/airflow/models/trigger/index.rst.txt      |   127 +
 .../_api/airflow/models/variable/index.rst.txt     |   172 +
 .../_api/airflow/models/xcom/index.rst.txt         |   188 +
 .../_api/airflow/models/xcom_arg/index.rst.txt     |   136 +
 .../_api/airflow/operators/bash/index.rst.txt      |   163 +
 .../airflow/operators/bash_operator/index.rst.txt  |    11 +
 .../_api/airflow/operators/branch/index.rst.txt    |    58 +
 .../operators/branch_operator/index.rst.txt        |    11 +
 .../airflow/operators/check_operator/index.rst.txt |    59 +
 .../operators/dagrun_operator/index.rst.txt        |    11 +
 .../_api/airflow/operators/datetime/index.rst.txt  |    62 +
 .../operators/docker_operator/index.rst.txt        |    11 +
 .../operators/druid_check_operator/index.rst.txt   |    11 +
 .../_api/airflow/operators/dummy/index.rst.txt     |    35 +
 .../airflow/operators/dummy_operator/index.rst.txt |    31 +
 .../_api/airflow/operators/email/index.rst.txt     |    66 +
 .../airflow/operators/email_operator/index.rst.txt |    11 +
 .../_api/airflow/operators/empty/index.rst.txt     |    47 +
 .../_api/airflow/operators/gcs_to_s3/index.rst.txt |    11 +
 .../operators/generic_transfer/index.rst.txt       |    67 +
 .../google_api_to_s3_transfer/index.rst.txt        |    35 +
 .../airflow/operators/hive_operator/index.rst.txt  |    11 +
 .../operators/hive_stats_operator/index.rst.txt    |    11 +
 .../airflow/operators/hive_to_druid/index.rst.txt  |    35 +
 .../airflow/operators/hive_to_mysql/index.rst.txt  |    35 +
 .../operators/hive_to_samba_operator/index.rst.txt |    11 +
 .../airflow/operators/http_operator/index.rst.txt  |    11 +
 .../_sources/_api/airflow/operators/index.rst.txt  |    70 +
 .../airflow/operators/jdbc_operator/index.rst.txt  |    11 +
 .../airflow/operators/latest_only/index.rst.txt    |    53 +
 .../operators/latest_only_operator/index.rst.txt   |    11 +
 .../airflow/operators/mssql_operator/index.rst.txt |    11 +
 .../airflow/operators/mssql_to_hive/index.rst.txt  |    35 +
 .../airflow/operators/mysql_operator/index.rst.txt |    11 +
 .../airflow/operators/mysql_to_hive/index.rst.txt  |    32 +
 .../operators/oracle_operator/index.rst.txt        |    11 +
 .../operators/papermill_operator/index.rst.txt     |    11 +
 .../airflow/operators/pig_operator/index.rst.txt   |    11 +
 .../operators/postgres_operator/index.rst.txt      |    11 +
 .../operators/presto_check_operator/index.rst.txt  |    50 +
 .../operators/presto_to_mysql/index.rst.txt        |    35 +
 .../_api/airflow/operators/python/index.rst.txt    |   342 +
 .../operators/python_operator/index.rst.txt        |    11 +
 .../redshift_to_s3_operator/index.rst.txt          |    33 +
 .../s3_file_transform_operator/index.rst.txt       |    12 +
 .../operators/s3_to_hive_operator/index.rst.txt    |    32 +
 .../s3_to_redshift_operator/index.rst.txt          |    35 +
 .../airflow/operators/slack_operator/index.rst.txt |    11 +
 .../_api/airflow/operators/smooth/index.rst.txt    |    45 +
 .../_api/airflow/operators/sql/index.rst.txt       |   322 +
 .../operators/sql_branch_operator/index.rst.txt    |    32 +
 .../operators/sqlite_operator/index.rst.txt        |    11 +
 .../_api/airflow/operators/subdag/index.rst.txt    |    97 +
 .../operators/subdag_operator/index.rst.txt        |    11 +
 .../airflow/operators/trigger_dagrun/index.rst.txt |   115 +
 .../_api/airflow/operators/weekday/index.rst.txt   |    52 +
 .../airflow/secrets/base_secrets/index.rst.txt     |   101 +
 .../secrets/environment_variables/index.rst.txt    |    75 +
 .../_sources/_api/airflow/secrets/index.rst.txt    |    54 +
 .../airflow/secrets/local_filesystem/index.rst.txt |   120 +
 .../_api/airflow/secrets/metastore/index.rst.txt   |    55 +
 .../_api/airflow/sensors/base/index.rst.txt        |   160 +
 .../sensors/base_sensor_operator/index.rst.txt     |    11 +
 .../_api/airflow/sensors/bash/index.rst.txt        |    47 +
 .../_api/airflow/sensors/date_time/index.rst.txt   |    87 +
 .../airflow/sensors/date_time_sensor/index.rst.txt |    11 +
 .../airflow/sensors/external_task/index.rst.txt    |   145 +
 .../sensors/external_task_sensor/index.rst.txt     |    11 +
 .../_api/airflow/sensors/filesystem/index.rst.txt  |    52 +
 .../_api/airflow/sensors/hdfs_sensor/index.rst.txt |    11 +
 .../sensors/hive_partition_sensor/index.rst.txt    |    11 +
 .../_api/airflow/sensors/http_sensor/index.rst.txt |    11 +
 .../_sources/_api/airflow/sensors/index.rst.txt    |    43 +
 .../metastore_partition_sensor/index.rst.txt       |    12 +
 .../named_hive_partition_sensor/index.rst.txt      |    11 +
 .../_api/airflow/sensors/python/index.rst.txt      |    52 +
 .../airflow/sensors/s3_key_sensor/index.rst.txt    |    11 +
 .../airflow/sensors/s3_prefix_sensor/index.rst.txt |    11 +
 .../airflow/sensors/smart_sensor/index.rst.txt     |   242 +
 .../_api/airflow/sensors/sql/index.rst.txt         |    65 +
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |    11 +
 .../_api/airflow/sensors/time_delta/index.rst.txt  |    58 +
 .../sensors/time_delta_sensor/index.rst.txt        |    11 +
 .../_api/airflow/sensors/time_sensor/index.rst.txt |    58 +
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |    11 +
 .../_api/airflow/sensors/weekday/index.rst.txt     |    75 +
 .../_api/airflow/timetables/base/index.rst.txt     |   233 +
 .../_api/airflow/timetables/events/index.rst.txt   |    97 +
 .../_sources/_api/airflow/timetables/index.rst.txt |    18 +
 .../_api/airflow/timetables/interval/index.rst.txt |   172 +
 .../_api/airflow/timetables/simple/index.rst.txt   |   102 +
 .../2.3.0/_sources/best-practices.rst.txt          |   630 +
 .../_sources/cli-and-env-variables-ref.rst.txt     |   105 +
 .../_sources/concepts/cluster-policies.rst.txt     |    92 +
 .../2.3.0/_sources/concepts/connections.rst.txt    |    51 +
 .../_sources/concepts/dagfile-processing.rst.txt   |    46 +
 .../2.3.0/_sources/concepts/dags.rst.txt           |   817 ++
 .../2.3.0/_sources/concepts/deferring.rst.txt      |   167 +
 .../_sources/concepts/dynamic-task-mapping.rst.txt |   305 +
 .../2.3.0/_sources/concepts/index.rst.txt          |    60 +
 .../2.3.0/_sources/concepts/operators.rst.txt      |   226 +
 .../2.3.0/_sources/concepts/overview.rst.txt       |    96 +
 .../2.3.0/_sources/concepts/params.rst.txt         |   160 +
 .../2.3.0/_sources/concepts/pools.rst.txt          |    90 +
 .../_sources/concepts/priority-weight.rst.txt      |    61 +
 .../2.3.0/_sources/concepts/scheduler.rst.txt      |   387 +
 .../2.3.0/_sources/concepts/sensors.rst.txt        |    33 +
 .../2.3.0/_sources/concepts/smart-sensors.rst.txt  |   108 +
 .../2.3.0/_sources/concepts/taskflow.rst.txt       |    73 +
 .../2.3.0/_sources/concepts/tasks.rst.txt          |   266 +
 .../2.3.0/_sources/concepts/timetable.rst.txt      |    50 +
 .../2.3.0/_sources/concepts/variables.rst.txt      |    48 +
 .../2.3.0/_sources/concepts/xcoms.rst.txt          |    88 +
 .../2.3.0/_sources/configurations-ref.rst.txt      |   106 +
 .../apache-airflow/2.3.0/_sources/dag-run.rst.txt  |   287 +
 .../2.3.0/_sources/dag-serialization.rst.txt       |   118 +
 .../2.3.0/_sources/deprecated-rest-api-ref.rst.txt |   127 +
 .../2.3.0/_sources/executor/celery.rst.txt         |   219 +
 .../_sources/executor/celery_kubernetes.rst.txt    |    46 +
 .../2.3.0/_sources/executor/dask.rst.txt           |    56 +
 .../2.3.0/_sources/executor/debug.rst.txt          |    56 +
 .../2.3.0/_sources/executor/index.rst.txt          |    80 +
 .../2.3.0/_sources/executor/kubernetes.rst.txt     |   283 +
 .../2.3.0/_sources/executor/local.rst.txt          |    49 +
 .../_sources/executor/local_kubernetes.rst.txt     |    30 +
 .../2.3.0/_sources/executor/sequential.rst.txt     |    26 +
 .../2.3.0/_sources/extra-packages-ref.rst.txt      |   374 +
 .../apache-airflow/2.3.0/_sources/faq.rst.txt      |   500 +
 .../2.3.0/_sources/howto/add-dag-tags.rst.txt      |    40 +
 .../2.3.0/_sources/howto/connection.rst.txt        |   453 +
 .../_sources/howto/create-custom-decorator.rst.txt |   119 +
 .../2.3.0/_sources/howto/custom-operator.rst.txt   |   299 +
 .../2.3.0/_sources/howto/customize-ui.rst.txt      |   173 +
 .../2.3.0/_sources/howto/define_extra_link.rst.txt |   169 +
 .../_sources/howto/dynamic-dag-generation.rst.txt  |   142 +
 .../2.3.0/_sources/howto/email-config.rst.txt      |   174 +
 .../_sources/howto/export-more-env-vars.rst.txt    |    52 +
 .../2.3.0/_sources/howto/index.rst.txt             |    48 +
 .../2.3.0/_sources/howto/operator/bash.rst.txt     |   145 +
 .../2.3.0/_sources/howto/operator/datetime.rst.txt |    39 +
 .../howto/operator/external_task_sensor.rst.txt    |    69 +
 .../2.3.0/_sources/howto/operator/index.rst.txt    |    38 +
 .../2.3.0/_sources/howto/operator/python.rst.txt   |   146 +
 .../2.3.0/_sources/howto/operator/weekday.rst.txt  |    31 +
 .../2.3.0/_sources/howto/run-behind-proxy.rst.txt  |    92 +
 .../2.3.0/_sources/howto/run-with-systemd.rst.txt  |    40 +
 .../2.3.0/_sources/howto/set-config.rst.txt        |   132 +
 .../2.3.0/_sources/howto/set-up-database.rst.txt   |   365 +
 .../2.3.0/_sources/howto/timetable.rst.txt         |   325 +
 .../2.3.0/_sources/howto/use-test-config.rst.txt   |    36 +
 .../2.3.0/_sources/howto/variable.rst.txt          |    76 +
 .../apache-airflow/2.3.0/_sources/index.rst.txt    |   119 +
 .../_sources/installation/dependencies.rst.txt     |    92 +
 .../2.3.0/_sources/installation/index.rst.txt      |   318 +
 .../installation/installing-from-pypi.rst.txt      |   214 +
 .../installation/installing-from-sources.rst.txt   |   155 +
 .../_sources/installation/prerequisites.rst.txt    |    54 +
 .../installation/setting-up-the-database.rst.txt   |    35 +
 .../installation/supported-versions.rst.txt        |    69 +
 .../2.3.0/_sources/installation/upgrading.rst.txt  |   120 +
 .../2.3.0/_sources/integration.rst.txt             |    37 +
 .../2.3.0/_sources/kubernetes.rst.txt              |    62 +
 .../apache-airflow/2.3.0/_sources/license.rst.txt  |   201 +
 .../apache-airflow/2.3.0/_sources/lineage.rst.txt  |   117 +
 .../2.3.0/_sources/listeners.rst.txt               |    41 +
 .../_sources/logging-monitoring/callbacks.rst.txt  |    84 +
 .../logging-monitoring/check-health.rst.txt        |   128 +
 .../_sources/logging-monitoring/errors.rst.txt     |   105 +
 .../_sources/logging-monitoring/index.rst.txt      |    39 +
 .../logging-architecture.rst.txt                   |    41 +
 .../logging-monitoring/logging-tasks.rst.txt       |   136 +
 .../_sources/logging-monitoring/metrics.rst.txt    |   170 +
 .../tracking-user-activity.rst.txt                 |    39 +
 .../2.3.0/_sources/migrations-ref.rst.txt          |   272 +
 .../2.3.0/_sources/modules_management.rst.txt      |   419 +
 .../2.3.0/_sources/operators-and-hooks-ref.rst.txt |   140 +
 .../apache-airflow/2.3.0/_sources/plugins.rst.txt  |   331 +
 .../2.3.0/_sources/privacy_notice.rst.txt          |    68 +
 .../2.3.0/_sources/production-deployment.rst.txt   |   230 +
 .../apache-airflow/2.3.0/_sources/project.rst.txt  |   101 +
 .../2.3.0/_sources/python-api-ref.rst.txt          |   156 +
 .../2.3.0/_sources/release-process.rst.txt         |    94 +
 .../2.3.0/_sources/release_notes.rst.txt           |    23 +
 .../2.3.0/_sources/security/access-control.rst.txt |   238 +
 .../2.3.0/_sources/security/api.rst.txt            |   164 +
 .../2.3.0/_sources/security/flower.rst.txt         |    40 +
 .../2.3.0/_sources/security/index.rst.txt          |    28 +
 .../2.3.0/_sources/security/kerberos.rst.txt       |   155 +
 .../2.3.0/_sources/security/secrets/fernet.rst.txt |    63 +
 .../2.3.0/_sources/security/secrets/index.rst.txt  |    37 +
 .../security/secrets/mask-sensitive-values.rst.txt |    79 +
 .../security/secrets/secrets-backend/index.rst.txt |   119 +
 .../local-filesystem-secrets-backend.rst.txt       |   145 +
 .../2.3.0/_sources/security/webserver.rst.txt      |   274 +
 .../2.3.0/_sources/security/workload.rst.txt       |    52 +
 .../2.3.0/_sources/stable-rest-api-ref.rst.txt     |    23 +
 .../2.3.0/_sources/start/docker.rst.txt            |   368 +
 .../2.3.0/_sources/start/index.rst.txt             |    27 +
 .../2.3.0/_sources/start/local.rst.txt             |   118 +
 .../2.3.0/_sources/templates-ref.rst.txt           |   182 +
 .../apache-airflow/2.3.0/_sources/timezone.rst.txt |   182 +
 .../apache-airflow/2.3.0/_sources/tutorial.rst.txt |   681 +
 .../2.3.0/_sources/tutorial_taskflow_api.rst.txt   |   476 +
 .../apache-airflow/2.3.0/_sources/ui.rst.txt       |   168 +
 .../_sources/upgrading-from-1-10/index.rst.txt     |  1218 ++
 .../upgrading-from-1-10/upgrade-check.rst.txt      |   215 +
 .../2.3.0/_sources/usage-cli.rst.txt               |   349 +
 docs-archive/apache-airflow/2.3.0/_specs/v1.yaml   |  4206 ++++++
 .../2.3.0}/_static/_gen/css/main-custom.min.css    |     2 +-
 .../2.3.0/_static/_gen/css/main.min.css            |     7 +
 .../2.3.0}/_static/_gen/js/docs.js                 |     2 +-
 .../2.3.0}/_static/basic.css                       |     3 +-
 .../apache-airflow/2.3.0/_static/check-solid.svg   |     4 +
 .../apache-airflow/2.3.0/_static/clipboard.min.js  |     7 +
 .../apache-airflow/2.3.0/_static/copy-button.svg   |     5 +
 .../apache-airflow/2.3.0/_static/copybutton.css    |    93 +
 .../apache-airflow/2.3.0/_static/copybutton.js     |   220 +
 .../2.3.0/_static/copybutton_funcs.js              |    58 +
 .../2.3.0}/_static/doctools.js                     |    77 +-
 .../2.3.0}/_static/documentation_options.js        |     6 +-
 .../2.3.0/_static/exampleinclude.css               |    86 +
 docs-archive/apache-airflow/2.3.0/_static/file.png |   Bin 0 -> 286 bytes
 .../apache-airflow/2.3.0/_static/gh-jira-links.js  |    34 +
 .../apache-airflow/2.3.0/_static/graphviz.css      |    19 +
 .../apache-airflow/2.3.0/_static/jquery-3.5.1.js   | 10872 ++++++++++++++++
 .../apache-airflow/2.3.0/_static/jquery.js         |     2 +
 .../2.3.0}/_static/language_data.js                |     2 +-
 .../apache-airflow/2.3.0/_static/minus.png         |   Bin 0 -> 90 bytes
 .../apache-airflow/2.3.0/_static/pin_32.png        |   Bin 0 -> 1201 bytes
 docs-archive/apache-airflow/2.3.0/_static/plus.png |   Bin 0 -> 90 bytes
 .../apache-airflow/2.3.0/_static/pygments.css      |    74 +
 docs-archive/apache-airflow/2.3.0/_static/redoc.js |   103 +
 .../2.3.0}/_static/searchtools.js                  |    10 +-
 .../2.3.0/_static/underscore-1.13.1.js             |  2042 +++
 .../apache-airflow/2.3.0/_static/underscore.js     |     6 +
 docs-archive/apache-airflow/2.3.0/airflow.sh       |    32 +
 .../2.3.0/best-practices.html}                     |  1091 +-
 .../2.3.0/build.rst}                               |   165 +-
 docs-archive/apache-airflow/2.3.0/changelog.html   |     1 +
 .../2.3.0/cli-and-env-variables-ref.html           |  5340 ++++++++
 docs-archive/apache-airflow/2.3.0/cli-ref.html     |     1 +
 docs-archive/apache-airflow/2.3.0/concepts.html    |     1 +
 .../2.3.0/concepts/cluster-policies.html}          |   537 +-
 .../2.3.0/concepts/connections.html}               |   293 +-
 .../2.3.0/concepts/dagfile-processing.html}        |   282 +-
 .../apache-airflow/2.3.0/concepts/dags.html        |  1865 +++
 .../2.3.0/concepts/deferring.html}                 |   768 +-
 .../2.3.0/concepts/dynamic-task-mapping.html}      |   879 +-
 .../2.3.0/concepts/index.html}                     |   560 +-
 .../2.3.0/concepts/operators.html}                 |   804 +-
 .../2.3.0/concepts/overview.html}                  |   488 +-
 .../2.3.0/concepts/params.html}                    |   555 +-
 .../2.3.0/concepts/pools.html}                     |   326 +-
 .../2.3.0/concepts/priority-weight.html}           |   291 +-
 .../2.3.0/concepts/scheduler.html}                 |   995 +-
 .../2.3.0/concepts/sensors.html}                   |   267 +-
 .../2.3.0/concepts/smart-sensors.html}             |   348 +-
 .../2.3.0/concepts/taskflow.html}                  |   315 +-
 .../2.3.0/concepts/tasks.html}                     |   886 +-
 .../2.3.0/concepts/timetable.html}                 |   283 +-
 .../2.3.0/concepts/variables.html}                 |   284 +-
 .../2.3.0/concepts/xcoms.html}                     |   476 +-
 .../apache-airflow/2.3.0/configurations-ref.html   |  7958 ++++++++++++
 .../2.3.0/dag-run.html}                            |   818 +-
 .../2.3.0/dag-serialization.html}                  |   311 +-
 .../2.3.0/deprecated-rest-api-ref.html}            |   516 +-
 .../apache-airflow/2.3.0/docker-compose.yaml       |   272 +
 docs-archive/apache-airflow/2.3.0/errors.html      |     1 +
 .../2.3.0/executor/celery.html}                    |   586 +-
 .../2.3.0/executor/celery_kubernetes.html}         |   270 +-
 .../2.3.0/executor/dask.html}                      |   268 +-
 .../2.3.0/executor/debug.html}                     |   271 +-
 .../2.3.0/executor}/index.html                     |   292 +-
 .../2.3.0/executor/kubernetes.html}                |  1097 +-
 .../2.3.0/executor/local.html}                     |   270 +-
 .../2.3.0/executor/local_kubernetes.html}          |   249 +-
 .../2.3.0/executor/sequential.html}                |   246 +-
 .../2.3.0/extra-packages-ref.html}                 |  1094 +-
 .../2.3.0/faq.html}                                |  1014 +-
 docs-archive/apache-airflow/2.3.0/genindex.html    |  6009 +++++++++
 .../2.3.0/howto/add-dag-tags.html}                 |   267 +-
 .../apache-airflow/2.3.0/howto/add-new-role.html   |     1 +
 .../apache-airflow/2.3.0/howto/check-health.html   |     1 +
 .../2.3.0/howto/connection.html}                   |  1005 +-
 .../2.3.0/howto/connection/index.html              |     1 +
 .../2.3.0/howto/create-custom-decorator.html}      |   834 +-
 .../2.3.0/howto/custom-operator.html}              |   855 +-
 .../howto/customize-dag-ui-page-instance-name.html |     1 +
 .../2.3.0/howto/customize-state-colors-ui.html     |     1 +
 .../2.3.0/howto/customize-ui.html}                 |   447 +-
 .../2.3.0/howto/define_extra_link.html}            |   548 +-
 .../2.3.0/howto/dynamic-dag-generation.html}       |   530 +-
 .../2.3.0/howto/email-config.html}                 |   569 +-
 .../2.3.0/howto/export-more-env-vars.html}         |   277 +-
 .../2.3.0/howto/index.html}                        |   519 +-
 .../2.3.0/howto/initialize-database.html           |     1 +
 .../2.3.0/howto/operator/bash.html}                |   563 +-
 .../2.3.0/howto/operator/datetime.html}            |   482 +-
 .../2.3.0/howto/operator/external.html             |     1 +
 .../howto/operator/external_task_sensor.html}      |   499 +-
 .../2.3.0/howto/operator}/index.html               |   353 +-
 .../2.3.0/howto/operator/python.html}              |   817 +-
 .../2.3.0/howto/operator/weekday.html}             |   338 +-
 .../2.3.0/howto/run-behind-proxy.html}             |   325 +-
 .../2.3.0/howto/run-with-systemd.html}             |   269 +-
 .../2.3.0/howto/secure-connections.html            |     1 +
 .../2.3.0/howto/set-config.html}                   |   505 +-
 .../2.3.0/howto/set-up-database.html}              |   877 +-
 .../2.3.0/howto/timetable.html}                    |   970 +-
 .../2.3.0/howto/tracking-user-activity.html        |     1 +
 .../howto/use-alternative-secrets-backend.html     |     1 +
 .../2.3.0/howto/use-test-config.html}              |   266 +-
 .../2.3.0/howto/variable.html}                     |   313 +-
 .../apache-airflow/2.3.0/howto/write-logs.html     |     1 +
 .../2.3.0/http-routingtable.html}                  |   334 +-
 .../2.3.0}/index.html                              |   246 +-
 .../apache-airflow/2.3.0/installation.html         |     1 +
 .../2.3.0/installation/dependencies.html}          |   324 +-
 .../2.3.0/installation/index.html}                 |   686 +-
 .../2.3.0/installation/installing-from-pypi.html}  |   592 +-
 .../installation/installing-from-sources.html}     |   511 +-
 .../2.3.0/installation/prerequisites.html}         |   272 +-
 .../installation/setting-up-the-database.html}     |   256 +-
 .../2.3.0/installation/supported-versions.html}    |   346 +-
 .../2.3.0/installation/upgrading.html}             |   356 +-
 .../2.3.0/integration.html}                        |   239 +-
 .../2.3.0/kubernetes.html}                         |   273 +-
 .../2.3.0/license.html}                            |   760 +-
 .../2.3.0/lineage.html}                            |   316 +-
 .../2.3.0/listeners.html}                          |   245 +-
 .../2.3.0/logging-monitoring/callbacks.html}       |   321 +-
 .../2.3.0/logging-monitoring/check-health.html}    |   339 +-
 .../2.3.0/logging-monitoring/errors.html}          |   663 +-
 .../2.3.0/logging-monitoring}/index.html           |   243 +-
 .../logging-monitoring/logging-architecture.html}  |   248 +-
 .../2.3.0/logging-monitoring/logging-tasks.html}   |   510 +-
 .../2.3.0/logging-monitoring/metrics.html}         |   771 +-
 .../tracking-user-activity.html}                   |   253 +-
 docs-archive/apache-airflow/2.3.0/macros-ref.html  |     1 +
 docs-archive/apache-airflow/2.3.0/metrics.html     |     1 +
 .../2.3.0/migrations-ref.html}                     |  1100 +-
 .../2.3.0/modules_management.html}                 |   873 +-
 docs-archive/apache-airflow/2.3.0/objects.inv      |   Bin 0 -> 27454 bytes
 .../2.3.0/operators-and-hooks-ref.html}            |   549 +-
 .../_static/redoc.js                               |     8 +
 .../2.3.0/plugins.html}                            |   639 +-
 .../2.3.0/privacy_notice.html}                     |   262 +-
 .../2.3.0/production-deployment.html}              |   531 +-
 .../2.3.0/project.html}                            |   303 +-
 .../2.3.0/py-modindex.html}                        |  1437 ++-
 .../2.3.0/python-api-ref.html}                     |   559 +-
 .../2.3.0/release-process.html}                    |   282 +-
 .../apache-airflow/2.3.0/release_notes.html        | 12873 +++++++++++++++++++
 .../apache-airflow/2.3.0/rest-api-ref.html         |     1 +
 docs-archive/apache-airflow/2.3.0/scheduler.html   |     1 +
 .../2.3.0}/search.html                             |   154 +-
 docs-archive/apache-airflow/2.3.0/searchindex.js   |     1 +
 docs-archive/apache-airflow/2.3.0/security.html    |     1 +
 .../2.3.0/security/access-control.html}            |  1188 +-
 .../2.3.0/security/api.html}                       |   537 +-
 .../2.3.0/security/flower.html}                    |   260 +-
 .../2.3.0/security}/index.html                     |   266 +-
 .../2.3.0/security/kerberos.html}                  |   524 +-
 .../2.3.0/security/secrets/fernet.html}            |   337 +-
 .../2.3.0/security/secrets}/index.html             |   303 +-
 .../security/secrets/mask-sensitive-values.html}   |   343 +-
 .../security/secrets/secrets-backend/index.html}   |   512 +-
 .../local-filesystem-secrets-backend.html}         |   548 +-
 .../2.3.0/security/webserver.html}                 |   822 +-
 .../2.3.0/security/workload.html}                  |   279 +-
 .../apache-airflow/2.3.0/smart-sensor.html         |     1 +
 .../apache-airflow/2.3.0/stable-rest-api-ref.html  |    34 +
 docs-archive/apache-airflow/2.3.0/start.html       |     1 +
 .../2.3.0/start/docker.html}                       |   911 +-
 .../2.3.0/start}/index.html                        |   226 +-
 .../2.3.0/start/local.html}                        |   315 +-
 .../2.3.0/templates-ref.html}                      |   821 +-
 .../2.3.0/timezone.html}                           |   500 +-
 docs-archive/apache-airflow/2.3.0/tutorial.html    |  1847 +++
 .../2.3.0/tutorial_taskflow_api.html               |  1602 +++
 .../index.html => apache-airflow/2.3.0/ui.html}    |   350 +-
 .../apache-airflow/2.3.0/upgrade-check.html        |     1 +
 .../2.3.0/upgrading-from-1-10/index.html           |  2255 ++++
 .../2.3.0/upgrading-from-1-10/upgrade-check.html}  |   566 +-
 .../apache-airflow/2.3.0/upgrading-to-2.html       |     1 +
 .../2.3.0/usage-cli.html}                          |   818 +-
 docs-archive/apache-airflow/stable.txt             |     2 +-
 docs-archive/docker-stack/.buildinfo               |     2 +-
 docs-archive/docker-stack/_modules/index.html      |    38 +-
 .../docker-stack/_sources/build-arg-ref.rst.txt    |   158 +-
 docs-archive/docker-stack/_sources/build.rst.txt   |   165 +-
 .../docker-stack/_sources/changelog.rst.txt        |   183 +
 .../docker-stack/_sources/entrypoint.rst.txt       |    20 +-
 docs-archive/docker-stack/_sources/index.rst.txt   |     5 +-
 docs-archive/docker-stack/_sources/recipes.rst.txt |    20 +
 .../_static/_gen/css/main-custom.min.css           |     2 +-
 docs-archive/docker-stack/_static/_gen/js/docs.js  |     2 +-
 docs-archive/docker-stack/_static/basic.css        |     3 +-
 docs-archive/docker-stack/_static/doctools.js      |    77 +-
 .../docker-stack/_static/documentation_options.js  |     4 +-
 docs-archive/docker-stack/_static/language_data.js |     2 +-
 docs-archive/docker-stack/_static/searchtools.js   |    10 +-
 docs-archive/docker-stack/build-arg-ref.html       |   124 +-
 docs-archive/docker-stack/build.html               |   454 +-
 .../docker-stack/{index.html => changelog.html}    |   317 +-
 docs-archive/docker-stack/entrypoint.html          |   102 +-
 docs-archive/docker-stack/genindex.html            |    38 +-
 docs-archive/docker-stack/index.html               |    46 +-
 docs-archive/docker-stack/objects.inv              |   Bin 538 -> 580 bytes
 docs-archive/docker-stack/recipes.html             |   103 +-
 docs-archive/docker-stack/search.html              |    34 +-
 docs-archive/docker-stack/searchindex.js           |     2 +-
 809 files changed, 251525 insertions(+), 97391 deletions(-)

diff --git a/docs-archive/docker-stack/.buildinfo b/docs-archive/apache-airflow/2.3.0/.buildinfo
similarity index 82%
copy from docs-archive/docker-stack/.buildinfo
copy to docs-archive/apache-airflow/2.3.0/.buildinfo
index bcc89d161..052e6f4ea 100644
--- a/docs-archive/docker-stack/.buildinfo
+++ b/docs-archive/apache-airflow/2.3.0/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 3421102014b7020a883e22c393785901
+config: 6c31ec0269d43f7b51424946a5cd3415
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs-archive/apache-airflow/2.3.0/_api/airflow/exceptions/index.html b/docs-archive/apache-airflow/2.3.0/_api/airflow/exceptions/index.html
new file mode 100644
index 000000000..767137141
--- /dev/null
+++ b/docs-archive/apache-airflow/2.3.0/_api/airflow/exceptions/index.html
@@ -0,0 +1,1576 @@
+
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+    <html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+        <title>airflow.exceptions &mdash; Airflow Documentation</title>
+    <link rel="stylesheet" href="../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../search.html" />
+            <link rel="next" title="airflow.secrets" href="../secrets/index.html" />
+            <link rel="prev" title="airflow.models.xcom_arg" href="../models/xcom_arg/index.html" />
+    <!-- Matomo -->
+    <script>
+        var _paq = window._paq = window._paq || [];
+        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+        /* We explicitly disable cookie tracking to avoid privacy issues */
+        _paq.push(['disableCookies']);
+        _paq.push(['trackPageView']);
+        _paq.push(['enableLinkTracking']);
+        (function() {
+        var u="https://analytics.apache.org/";
+        _paq.push(['setTrackerUrl', u+'matomo.php']);
+        _paq.push(['setSiteId', '13']);
+        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+        })();
+    </script>
+    <!-- End Matomo Code -->
+
+    
+</head><body class="td-section">
+    
+
+<header>
+    <nav class="js-navbar-scroll navbar">
+        <div class="navbar__icon-container">
+            <a href="/">
+                <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                    <defs>
+                        <clipPath id="clip-path">
+                            <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                        </clipPath>
+                    </defs>
+                    <g id="logo" transform="translate(-1305 -780.355)">
+                        <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                            <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258 [...]
+                                <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1 [...]
+                                <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1 [...]
+                            </g>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+        </div>
+        <div class="desktop-only navbar__menu-container">
+
+            <div class="navbar__menu-content" id="main_navbar">
+
+                <div class="navbar__links-container">
+                    
+                        <a class="navbar__text-link" href="/community/">
+                            Community
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/meetups/">
+                            Meetups
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/docs/">
+                            Documentation
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/use-cases/">
+                            Use-cases
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/announcements/">
+                            Announcements
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/blog/">
+                            Blog
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/ecosystem/">
+                            Ecosystem
+                        </a>
+                    
+                </div>
+
+                
+
+            </div>
+
+        </div>
+        <div class="mobile-only navbar__drawer-container">
+            <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+                <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+                        <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+                            <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                            <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+                                <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+                <div id="close-icon" class="navbar__toggle-button--icon">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                        <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                            <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+            </button>
+            <div class="navbar__drawer" id="navbar-drawer">
+                <div class="navbar__menu-content" id="main_navbar">
+
+                    <div class="navbar__links-container">
+                        
+                            <a class="navbar__text-link" href="/community/">
+                                Community
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/meetups/">
+                                Meetups
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/docs/">
+                                Documentation
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/use-cases/">
+                                Use-cases
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/announcements/">
+                                Announcements
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/blog/">
+                                Blog
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/ecosystem/">
+                                Ecosystem
+                            </a>
+                        
+
+                    </div>
+                    
+
+                </div>
+            </div>
+        </div>
+    </nav>
+
+</header>
+
+
+    <div class="roadmap container-fluid td-default base-layout">
+        
+        
+    <div class="content-drawer-wrapper">
+        <button class="content-drawer__toggle-button" id="content-open-button">
+
+            <div id="hamburger-icon" class="content-drawer__toggle-button--icon visible">
+                <svg xmlns="http://www.w3.org/2000/svg" width="20.005" height="13.879" viewBox="0 0 20.005 13.879">
+                    <g id="Group_1619" data-name="Group 1619" transform="translate(271.132 -418.872)">
+                        <g id="Group_1613" data-name="Group 1613" transform="translate(-266.229 431.045)">
+                            <path id="Path_1337" d="M-218.5 513.215h-14.583a.259.259 0 0 1-.259-.26.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.26z" fill="#51504f" data-name="Path 1337" transform="translate(233.345 -512.696)"></path>
+                        </g>
+                        <g id="Group_1614" data-name="Group 1614" transform="translate(-266.229 425.684)">
+                            <path id="Path_1338" d="M-218.5 471.9h-14.583a.259.259 0 0 1-.259-.26.26.26 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.26.26 0 0 1-.259.26z" fill="#51504f" data-name="Path 1338" transform="translate(233.345 -471.376)"></path>
+                        </g>
+                        <g id="Group_1615" data-name="Group 1615" transform="translate(-266.229 420.323)">
+                            <path id="Path_1339" d="M-218.5 430.574h-14.583a.259.259 0 0 1-.259-.259.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.259z" fill="#51504f" data-name="Path 1339" transform="translate(233.345 -430.055)"></path>
+                        </g>
+                        <g id="Group_1616" data-name="Group 1616" transform="translate(-271.132 429.814)">
+                            <path id="Path_1340" d="M-269.663 506.145a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1340" transform="translate(271.132 -503.208)"></path>
+                        </g>
+                        <g id="Group_1617" data-name="Group 1617" transform="translate(-271.132 424.556)">
+                            <path id="Path_1341" d="M-269.663 465.62a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.952z" fill="#51504f" data-name="Path 1341" transform="translate(271.132 -462.683)"></path>
+                        </g>
+                        <g id="Group_1618" data-name="Group 1618" transform="translate(-271.132 418.872)">
+                            <path id="Path_1342" d="M-269.663 421.809a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1342" transform="translate(271.132 -418.872)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+                <span class="bodytext__mobile--brownish-grey">Content</span>
+            </div>
+
+        </button>
+        <nav id="content-navbar" class="navbar navbar--hidden">
+            <div class="navbar__icon-container">
+                <a href="/">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                        <defs>
+                            <clipPath id="clip-path">
+                                <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                            </clipPath>
+                        </defs>
+                        <g id="logo" transform="translate(-1305 -780.355)">
+                            <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                                <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                    <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                    <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                    <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                    <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                    <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                    <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                    <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                    <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                    <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                    <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178 [...]
+                                    <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0 [...]
+                                    <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482- [...]
+                                </g>
+                            </g>
+                        </g>
+                    </svg>
+
+                </a>
+            </div>
+
+            <div id="content-close-button">
+                <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                    <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                        <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                            <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                        </g>
+                        <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                            <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                        </g>
+                    </g>
+                </svg>
+
+            </div>
+
+        </nav>
+        <div class="content-drawer-container" id="content-drawer">
+            <div class="content-drawer">
+                <div class="td-sidebar">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../python-api-ref.html#exceptions">Exceptions</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.exceptions</span></code></a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#classes">Classes</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowException">AirflowException</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.AirflowException.status_code">status_code</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowBadRequest">AirflowBadRequest</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.AirflowBadRequest.status_code">status_code</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException">AirflowNotFoundException</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException.status_code">status_code</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowConfigException">AirflowConfigException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowSensorTimeout">AirflowSensorTimeout</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowRescheduleException">AirflowRescheduleException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowSmartSensorException">AirflowSmartSensorException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.InvalidStatsNameException">InvalidStatsNameException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowTaskTimeout">AirflowTaskTimeout</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowWebServerTimeout">AirflowWebServerTimeout</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowSkipException">AirflowSkipException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowFailException">AirflowFailException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowOptionalProviderFeatureException">AirflowOptionalProviderFeatureException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.UnmappableOperator">UnmappableOperator</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.XComForMappingNotPushed">XComForMappingNotPushed</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.XComForMappingNotPushed.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.UnmappableXComTypePushed">UnmappableXComTypePushed</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.UnmappableXComTypePushed.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.UnmappableXComLengthPushed">UnmappableXComLengthPushed</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.UnmappableXComLengthPushed.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowDagCycleException">AirflowDagCycleException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowDagDuplicatedIdException">AirflowDagDuplicatedIdException</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.AirflowDagDuplicatedIdException.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowClusterPolicyViolation">AirflowClusterPolicyViolation</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowTimetableInvalid">AirflowTimetableInvalid</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagNotFound">DagNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagCodeNotFound">DagCodeNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagRunNotFound">DagRunNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagRunAlreadyExists">DagRunAlreadyExists</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagFileExists">DagFileExists</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DuplicateTaskIdFound">DuplicateTaskIdFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.SerializationError">SerializationError</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.ParamValidationError">ParamValidationError</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.TaskNotFound">TaskNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.TaskInstanceNotFound">TaskInstanceNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.PoolNotFound">PoolNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.NoAvailablePoolSlot">NoAvailablePoolSlot</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagConcurrencyLimitReached">DagConcurrencyLimitReached</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.TaskConcurrencyLimitReached">TaskConcurrencyLimitReached</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.BackfillUnfinished">BackfillUnfinished</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError">FileSyntaxError</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.line_no">line_no</a></li>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.message">message</a></li>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowFileParseException">AirflowFileParseException</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.AirflowFileParseException.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.ConnectionNotUnique">ConnectionNotUnique</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.TaskDeferred">TaskDeferred</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.TaskDeferred.__repr__">__repr__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.TaskDeferralError">TaskDeferralError</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../migrations-ref.html">Database Migrations</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: '►';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: '▼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+                </div>
+            </div>
+        </div>
+    </div>
+        
+        <div class="d-flex">
+            
+            
+    <div class="td-sidebar desktop-only d-print-none">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#executors">Executors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../python-api-ref.html#exceptions">Exceptions</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.exceptions</span></code></a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#classes">Classes</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowException">AirflowException</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.AirflowException.status_code">status_code</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowBadRequest">AirflowBadRequest</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.AirflowBadRequest.status_code">status_code</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException">AirflowNotFoundException</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException.status_code">status_code</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowConfigException">AirflowConfigException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowSensorTimeout">AirflowSensorTimeout</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowRescheduleException">AirflowRescheduleException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowSmartSensorException">AirflowSmartSensorException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.InvalidStatsNameException">InvalidStatsNameException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowTaskTimeout">AirflowTaskTimeout</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowWebServerTimeout">AirflowWebServerTimeout</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowSkipException">AirflowSkipException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowFailException">AirflowFailException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowOptionalProviderFeatureException">AirflowOptionalProviderFeatureException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.UnmappableOperator">UnmappableOperator</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.XComForMappingNotPushed">XComForMappingNotPushed</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.XComForMappingNotPushed.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.UnmappableXComTypePushed">UnmappableXComTypePushed</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.UnmappableXComTypePushed.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.UnmappableXComLengthPushed">UnmappableXComLengthPushed</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.UnmappableXComLengthPushed.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowDagCycleException">AirflowDagCycleException</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowDagDuplicatedIdException">AirflowDagDuplicatedIdException</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.AirflowDagDuplicatedIdException.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowClusterPolicyViolation">AirflowClusterPolicyViolation</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowTimetableInvalid">AirflowTimetableInvalid</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagNotFound">DagNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagCodeNotFound">DagCodeNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagRunNotFound">DagRunNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagRunAlreadyExists">DagRunAlreadyExists</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagFileExists">DagFileExists</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DuplicateTaskIdFound">DuplicateTaskIdFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.SerializationError">SerializationError</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.ParamValidationError">ParamValidationError</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.TaskNotFound">TaskNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.TaskInstanceNotFound">TaskInstanceNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.PoolNotFound">PoolNotFound</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.NoAvailablePoolSlot">NoAvailablePoolSlot</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.DagConcurrencyLimitReached">DagConcurrencyLimitReached</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.TaskConcurrencyLimitReached">TaskConcurrencyLimitReached</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.BackfillUnfinished">BackfillUnfinished</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError">FileSyntaxError</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.line_no">line_no</a></li>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.message">message</a></li>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowFileParseException">AirflowFileParseException</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.AirflowFileParseException.__str__">__str__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.ConnectionNotUnique">ConnectionNotUnique</a></li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.TaskDeferred">TaskDeferred</a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#airflow.exceptions.TaskDeferred.__repr__">__repr__</a></li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.TaskDeferralError">TaskDeferralError</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../migrations-ref.html">Database Migrations</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: '►';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: '▼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+    </div>
+            
+
+            
+
+            <main class="col-12 col-md-9 col-xl-8" role="main">
+                
+
+
+    
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation" class="d-none d-md-block d-print-none">
+
+    <ul class="breadcrumb">
+        
+            <li class="breadcrumb-item"><a href="../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../../../python-api-ref.html">Python API Reference</a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.exceptions</span></code></a></li>
+        
+    </ul>
+</div>
+                
+                <div class="rst-content">
+                    <div class="document">
+                            <div class="documentwrapper">
+                                <div class="bodywrapper">
+                                    <div class="body" role="main">
+                                        
+  <div class="section" id="module-airflow.exceptions">
+<span id="airflow-exceptions"></span><h1><a class="reference internal" href="#module-airflow.exceptions" title="airflow.exceptions"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.exceptions</span></code></a><a class="headerlink" href="#module-airflow.exceptions" title="Permalink to this headline">¶</a></h1>
+<p>Exceptions used by Airflow</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.exceptions.FileSyntaxError" title="airflow.exceptions.FileSyntaxError"><code class="xref py py-obj docutils literal notranslate"><span class="pre">FileSyntaxError</span></code></a></p></td>
+<td><p>Information about a single error in a file.</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowException</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowException"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowException" tit [...]
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.10)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
+<p>Base class for all Airflow’s errors.</p>
+<p>Each custom exception should be derived from this class.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowException.status_code">
+<span class="sig-name descname"><span class="pre">status_code</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">500</span></em><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowException.status_code"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowException.status_code" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowBadRequest">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowBadRequest</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowBadRequest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowBadRequest"  [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when the application or server cannot handle the request.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowBadRequest.status_code">
+<span class="sig-name descname"><span class="pre">status_code</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">400</span></em><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowBadRequest.status_code"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowBadRequest.status_code" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowNotFoundException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowNotFoundException</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowNotFoundException"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.Airfl [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when the requested object/resource is not available in the system.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowNotFoundException.status_code">
+<span class="sig-name descname"><span class="pre">status_code</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">404</span></em><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowNotFoundException.status_code"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowNotFoundException.status_code" title="Permalink to this definition">¶ [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowConfigException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowConfigException</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowConfigException"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowCo [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when there is configuration problem.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowSensorTimeout">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowSensorTimeout</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowSensorTimeout"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowSensor [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when there is a timeout on sensor polling.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowRescheduleException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowRescheduleException</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">reschedule_date</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions. [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when the task should be re-scheduled at a later time.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>reschedule_date</strong> – The date when the task should be rescheduled</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowSmartSensorException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowSmartSensorException</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowSmartSensorException"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise after the task register itself in the smart sensor service.</p>
+<p>It should exit without failing a task.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.InvalidStatsNameException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">InvalidStatsNameException</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#InvalidStatsNameException"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.Inv [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when name of the stats is invalid.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowTaskTimeout">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowTaskTimeout</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowTaskTimeout"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowTaskTimeou [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when the task execution times-out.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowWebServerTimeout">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowWebServerTimeout</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowWebServerTimeout"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.Airflow [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when the web server times out.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowSkipException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowSkipException</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowSkipException"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowSkipEx [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when the task should be skipped</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowFailException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowFailException</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowFailException"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowFailEx [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when the task should be failed without retrying.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowOptionalProviderFeatureException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowOptionalProviderFeatureException</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowOptionalProviderFeatureException"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" h [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise by providers when imports are missing for optional provider features.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.UnmappableOperator">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">UnmappableOperator</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#UnmappableOperator"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.UnmappableOperato [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when an operator is not implemented to be mappable.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.XComForMappingNotPushed">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">XComForMappingNotPushed</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#XComForMappingNotPushed"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.XComFor [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when a mapped downstream’s dependency fails to push XCom for task mapping.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.exceptions.XComForMappingNotPushed.__str__">
+<span class="sig-name descname"><span class="pre">__str__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#XComForMappingNotPushed.__str__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.XComForMappingNotPushed.__str__" title="Permali [...]
+<dd><p>Return str(self).</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.UnmappableXComTypePushed">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">UnmappableXComTypePushed</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#Unmappa [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when an unmappable type is pushed as a mapped downstream’s dependency.</p>
+<dl class="field-list simple">
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.exceptions.UnmappableXComTypePushed.__str__">
+<span class="sig-name descname"><span class="pre">__str__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#UnmappableXComTypePushed.__str__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.UnmappableXComTypePushed.__str__" title="Perma [...]
+<dd><p>Return str(self).</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.UnmappableXComLengthPushed">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">UnmappableXComLengthPushed</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_length</span></span></em><span class="sig-paren">)</s [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when the pushed value is too large to map as a downstream’s dependency.</p>
+<dl class="field-list simple">
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.exceptions.UnmappableXComLengthPushed.__str__">
+<span class="sig-name descname"><span class="pre">__str__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#UnmappableXComLengthPushed.__str__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.UnmappableXComLengthPushed.__str__" title="P [...]
+<dd><p>Return str(self).</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowDagCycleException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowDagCycleException</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowDagCycleException"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.Airfl [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when there is a cycle in DAG definition.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowDagDuplicatedIdException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowDagDuplicatedIdException</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dag_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">incoming</span></span></em>, <em class="sig-param"> [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when a DAG’s ID is already used by another DAG.</p>
+<dl class="field-list simple">
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowDagDuplicatedIdException.__str__">
+<span class="sig-name descname"><span class="pre">__str__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowDagDuplicatedIdException.__str__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowDagDuplicatedIdException.__str__ [...]
+<dd><p>Return str(self).</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowClusterPolicyViolation">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowClusterPolicyViolation</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowClusterPolicyViolation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.except [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when there is a violation of a Cluster Policy in DAG definition.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowTimetableInvalid">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowTimetableInvalid</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowTimetableInvalid"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.Airflow [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when a DAG has an invalid timetable.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.DagNotFound">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">DagNotFound</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DagNotFound"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.DagNotFound" title="Permalink t [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowNotFoundException</span></code></a></p>
+<p>Raise when a DAG is not available in the system.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.DagCodeNotFound">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">DagCodeNotFound</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DagCodeNotFound"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.DagCodeNotFound" title= [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowNotFoundException</span></code></a></p>
+<p>Raise when a DAG code is not available in the system.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.DagRunNotFound">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">DagRunNotFound</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DagRunNotFound"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.DagRunNotFound" title="Pe [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowNotFoundException</span></code></a></p>
+<p>Raise when a DAG Run is not available in the system.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.DagRunAlreadyExists">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">DagRunAlreadyExists</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DagRunAlreadyExists"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.DagRunAlreadyEx [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowBadRequest" title="airflow.exceptions.AirflowBadRequest"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowBadRequest</span></code></a></p>
+<p>Raise when creating a DAG run for DAG which already has DAG run entry.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.DagFileExists">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">DagFileExists</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span  [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowBadRequest" title="airflow.exceptions.AirflowBadRequest"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowBadRequest</span></code></a></p>
+<p>Raise when a DAG ID is still in DagBag i.e., DAG file is in DAG folder.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.DuplicateTaskIdFound">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">DuplicateTaskIdFound</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DuplicateTaskIdFound"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.DuplicateTask [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when a Task with duplicate task_id is defined in the same DAG.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.SerializationError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">SerializationError</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#SerializationError"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.SerializationErro [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>A problem occurred when trying to serialize a DAG.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.ParamValidationError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">ParamValidationError</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#ParamValidationError"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.ParamValidati [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when DAG params is invalid</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.TaskNotFound">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">TaskNotFound</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#TaskNotFound"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.TaskNotFound" title="Permalin [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowNotFoundException</span></code></a></p>
+<p>Raise when a Task is not available in the system.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.TaskInstanceNotFound">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">TaskInstanceNotFound</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#TaskInstanceNotFound"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.TaskInstanceN [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowNotFoundException</span></code></a></p>
+<p>Raise when a task instance is not available in the system.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.PoolNotFound">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">PoolNotFound</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#PoolNotFound"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.PoolNotFound" title="Permalin [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowNotFoundException</span></code></a></p>
+<p>Raise when a Pool is not available in the system.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.NoAvailablePoolSlot">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">NoAvailablePoolSlot</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#NoAvailablePoolSlot"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.NoAvailablePool [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when there is not enough slots in pool.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.DagConcurrencyLimitReached">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">DagConcurrencyLimitReached</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DagConcurrencyLimitReached"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.D [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when DAG max_active_tasks limit is reached.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.TaskConcurrencyLimitReached">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">TaskConcurrencyLimitReached</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#TaskConcurrencyLimitReached"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when task max_active_tasks limit is reached.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.BackfillUnfinished">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">BackfillUnfinished</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ti_status</span></span></em><span class="sig-paren">)</span><a  [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raises when not all tasks succeed in backfill.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>message</strong> – The human-readable description of the exception</p></li>
+<li><p><strong>ti_status</strong> – The information about all task statuses</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.exceptions.FileSyntaxError">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">FileSyntaxError</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#FileSyntaxError"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.FileSyntaxError" title="Per [...]
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">NamedTuple</span></code></p>
+<p>Information about a single error in a file.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.exceptions.FileSyntaxError.line_no">
+<span class="sig-name descname"><span class="pre">line_no</span></span><em class="property"><span class="w"> </span><span class="pre">:Optional[int]</span></em><a class="reference internal" href="../../../_modules/airflow/exceptions.html#FileSyntaxError.line_no"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.FileSyntaxError.line_no" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.exceptions.FileSyntaxError.message">
+<span class="sig-name descname"><span class="pre">message</span></span><em class="property"><span class="w"> </span><span class="pre">:str</span></em><a class="reference internal" href="../../../_modules/airflow/exceptions.html#FileSyntaxError.message"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.FileSyntaxError.message" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.exceptions.FileSyntaxError.__str__">
+<span class="sig-name descname"><span class="pre">__str__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#FileSyntaxError.__str__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.FileSyntaxError.__str__" title="Permalink to this defin [...]
+<dd><p>Return str(self).</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowFileParseException">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">AirflowFileParseException</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">file_path</span></span></em>, <em class="sig-param"><span cl [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raises when connection or variable file can not be parsed.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>msg</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) – The human-readable description of the exception</p></li>
+<li><p><strong>file_path</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) – A processed file that contains errors</p></li>
+<li><p><strong>parse_errors</strong> (<em>List</em><em>[</em><a class="reference internal" href="#airflow.exceptions.FileSyntaxError" title="airflow.exceptions.FileSyntaxError"><em>FileSyntaxError</em></a><em>]</em>) – File syntax errors</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.exceptions.AirflowFileParseException.__str__">
+<span class="sig-name descname"><span class="pre">__str__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowFileParseException.__str__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.AirflowFileParseException.__str__" title="Per [...]
+<dd><p>Return str(self).</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.ConnectionNotUnique">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">ConnectionNotUnique</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#ConnectionNotUnique"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.ConnectionNotUn [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raise when multiple values are found for the same connection ID.</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.TaskDeferred">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">TaskDeferred</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">trigger</span></span></em>, <em class="sig-param"><span class="n"><span cla [...]
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#BaseException" title="(in Python v3.10)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">BaseException</span></code></a></p>
+<p>Special exception raised to signal that the operator it was raised from
+wishes to defer until a trigger fires.</p>
+<dl class="field-list simple">
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.exceptions.TaskDeferred.__repr__">
+<span class="sig-name descname"><span class="pre">__repr__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#TaskDeferred.__repr__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.TaskDeferred.__repr__" title="Permalink to this definiti [...]
+<dd><p>Return repr(self).</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt class="sig sig-object py" id="airflow.exceptions.TaskDeferralError">
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.exceptions.</span></span><span class="sig-name descname"><span class="pre">TaskDeferralError</span></span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#TaskDeferralError"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exceptions.TaskDeferralError"  [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AirflowException</span></code></a></p>
+<p>Raised when a task failed during deferral for some reason.</p>
+</dd></dl>
+
+</div>
+</div>
+</div>
+
+
+    <div class="pager" role="navigation" aria-label="related navigation">
+            <a rel="prev" title="airflow.models.xcom_arg" href="../models/xcom_arg/index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
+            </a>
+            <a rel="next" title="airflow.secrets" href="../secrets/index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
+            </a>
+    </div>
+                                    </div>
+
+                                </div>
+                            </div>
+                    </div>
+                </div>
+    <div class="rating-container">
+        <p class="bodytext__medium--greyish-brown font-weight-500">Was this entry helpful?</p>
+        <div class="rating">
+
+            <div id="rate-star-5" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-4" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-3" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-2" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-1" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+        </div>
+    </div>
+                
+            </main>
+            
+
+            
+            
+    <nav class="wy-nav-side-toc">
+        <div class="wy-menu-vertical">
+            <ul>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.exceptions</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a><ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowException">AirflowException</a><ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowException.status_code">status_code</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowBadRequest">AirflowBadRequest</a><ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowBadRequest.status_code">status_code</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException">AirflowNotFoundException</a><ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException.status_code">status_code</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowConfigException">AirflowConfigException</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowSensorTimeout">AirflowSensorTimeout</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowRescheduleException">AirflowRescheduleException</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowSmartSensorException">AirflowSmartSensorException</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.InvalidStatsNameException">InvalidStatsNameException</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowTaskTimeout">AirflowTaskTimeout</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowWebServerTimeout">AirflowWebServerTimeout</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowSkipException">AirflowSkipException</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowFailException">AirflowFailException</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowOptionalProviderFeatureException">AirflowOptionalProviderFeatureException</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.UnmappableOperator">UnmappableOperator</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.XComForMappingNotPushed">XComForMappingNotPushed</a><ul>
+<li><a class="reference internal" href="#airflow.exceptions.XComForMappingNotPushed.__str__">__str__</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.exceptions.UnmappableXComTypePushed">UnmappableXComTypePushed</a><ul>
+<li><a class="reference internal" href="#airflow.exceptions.UnmappableXComTypePushed.__str__">__str__</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.exceptions.UnmappableXComLengthPushed">UnmappableXComLengthPushed</a><ul>
+<li><a class="reference internal" href="#airflow.exceptions.UnmappableXComLengthPushed.__str__">__str__</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowDagCycleException">AirflowDagCycleException</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowDagDuplicatedIdException">AirflowDagDuplicatedIdException</a><ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowDagDuplicatedIdException.__str__">__str__</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowClusterPolicyViolation">AirflowClusterPolicyViolation</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowTimetableInvalid">AirflowTimetableInvalid</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.DagNotFound">DagNotFound</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.DagCodeNotFound">DagCodeNotFound</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.DagRunNotFound">DagRunNotFound</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.DagRunAlreadyExists">DagRunAlreadyExists</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.DagFileExists">DagFileExists</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.DuplicateTaskIdFound">DuplicateTaskIdFound</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.SerializationError">SerializationError</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.ParamValidationError">ParamValidationError</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.TaskNotFound">TaskNotFound</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.TaskInstanceNotFound">TaskInstanceNotFound</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.PoolNotFound">PoolNotFound</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.NoAvailablePoolSlot">NoAvailablePoolSlot</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.DagConcurrencyLimitReached">DagConcurrencyLimitReached</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.TaskConcurrencyLimitReached">TaskConcurrencyLimitReached</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.BackfillUnfinished">BackfillUnfinished</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.FileSyntaxError">FileSyntaxError</a><ul>
+<li><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.line_no">line_no</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.message">message</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.__str__">__str__</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowFileParseException">AirflowFileParseException</a><ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowFileParseException.__str__">__str__</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.exceptions.ConnectionNotUnique">ConnectionNotUnique</a></li>
+<li><a class="reference internal" href="#airflow.exceptions.TaskDeferred">TaskDeferred</a><ul>
+<li><a class="reference internal" href="#airflow.exceptions.TaskDeferred.__repr__">__repr__</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.exceptions.TaskDeferralError">TaskDeferralError</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+        </div>
+    </nav>
+            
+        </div>
+        
+
+
+    
+
+
+
+
+
+
+
+    
+        
+            
+        
+        <div class="base-layout--button">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/exceptions/index.rst" rel="nofollow">
+
+                <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+                        <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.15 [...]
+                    </svg>
+
+                    <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+                </button>
+            </a>
+        </div>
+    
+
+    </div>
+
+
+    
+
+<footer>
+    <div class="footer-section footer-section__media-section">
+        <div class="d-flex align-items-center">
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+                    <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.3 [...]
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/issues">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewBox="0 0 45 45">
+                    <g id="Group_210" data-name="Group 210" transform="translate(-339.789 -1315.282)">
+                        <path id="Path_218" d="M394.82 1315.282h-21.671a9.784 9.784 0 0 0 9.784 9.778h3.986v3.857a9.784 9.784 0 0 0 9.784 9.771v-21.523a1.884 1.884 0 0 0-1.883-1.883z" fill="#fff" data-name="Path 218" transform="translate(-11.914)"></path>
+                        <path id="Path_219" d="M378.14 1332.072h-21.671a9.778 9.778 0 0 0 9.778 9.778h4.018v3.857a9.784 9.784 0 0 0 9.752 9.778v-21.536a1.877 1.877 0 0 0-1.877-1.877z" fill="#fff" data-name="Path 219" transform="translate(-5.957 -5.996)"></path>
+                        <path id="Path_220" d="M361.46 1348.862h-21.671a9.778 9.778 0 0 0 9.778 9.778h3.992v3.857a9.778 9.778 0 0 0 9.778 9.778v-21.529a1.883 1.883 0 0 0-1.877-1.884z" fill="#fff" data-name="Path 220" transform="translate(0 -11.993)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://s.apache.org/airflow-slack">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+                    <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+                        <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+                            <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"></path>
+                            <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"></path>
+                        </g>
+                        <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+                            <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"></path>
+                            <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"></path>
+                        </g>
+                        <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+                            <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"></path>
+                            <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"></path>
+                        </g>
+                        <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+                            <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"></path>
+                            <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+                    <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+                        <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"></path>
+                        <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://twitter.com/ApacheAirflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="44.355" height="44.355" viewBox="0 0 44.355 44.355">
+                    <g id="Group_211" data-name="Group 211" transform="translate(-503 -1382.2)">
+                        <path id="Path_221" d="M541.811 1382.2h-33.267a5.546 5.546 0 0 0-5.544 5.544v33.266a5.547 5.547 0 0 0 5.544 5.545h33.267a5.546 5.546 0 0 0 5.544-5.545v-33.266a5.546 5.546 0 0 0-5.544-5.544zm-5.611 16.533c.011.244.011.488.011.732 0 7.507-5.722 16.178-16.179 16.178a16.173 16.173 0 0 1-8.7-2.539 10.92 10.92 0 0 0 1.353.078 11.4 11.4 0 0 0 7.064-2.44 5.685 5.685 0 0 1-5.311-3.947 5.725 5.725 0 0 0 2.561-.1 5.7 5.7 0 0 1-4.557-5.578v-.078a5.752 5.752 0 0 0 2.572.71 5.7 [...]
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA">
+                <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+                    <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223 [...]
+                </svg>
+
+            </a>
+
+        </div>
+        
+
+        <div class="footer-section__media-section--button-with-text">
+            <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+            <a href="/community">
+
+                <button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+            </a>
+        </div>
+        
+
+    </div>
+    <div class="footer-section footer-section__policies-section">
+        <div class="footer-section">
+            <span>© The Apache Software Foundation <script>document.write(new Date().getFullYear())</script></span>
+            <div class="footer-section__policies-section--policies">
+
+                <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+                    <span>License</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+                    <span>Donate</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+                    <span>Thanks</span>
+                </a>
+
+                <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+                    <span>Security</span>
+                </a>
+                
+
+            </div>
+        </div>
+        <span class="footer-section__policies-section--disclaimer">
+            Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+        </span>
+    </div>
+</footer>
+    <script type="text/javascript" src="../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
+    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+        <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+        <script src="../../../_static/jquery.js"></script>
+        <script src="../../../_static/underscore.js"></script>
+        <script src="../../../_static/doctools.js"></script>
+        <script src="../../../_static/clipboard.min.js"></script>
+        <script src="../../../_static/copybutton.js"></script>
+        <script src="../../../_static/gh-jira-links.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/entrypoint.html b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/base_executor/index.html
similarity index 52%
copy from docs-archive/docker-stack/entrypoint.html
copy to docs-archive/apache-airflow/2.3.0/_api/airflow/executors/base_executor/index.html
index 4f84ce01b..f69cc4634 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/base_executor/index.html
@@ -9,32 +9,35 @@
 <head>
         <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1">
-        <title>Entrypoint &mdash; docker-stack Documentation</title>
-    <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
-            <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
-            <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
-            <link rel="shortcut icon" href="_static/pin_32.png"/>
-            <link rel="index" title="Index" href="genindex.html" />
-            <link rel="search" title="Search" href="search.html" />
-            <link rel="next" title="Recipes" href="recipes.html" />
-            <link rel="prev" title="Building the image" href="build.html" />
-<!-- Matomo -->
-<script>
-  var _paq = window._paq = window._paq || [];
-  _paq.push(['disableCookies']);
-  _paq.push(['trackPageView']);
-  _paq.push(['enableLinkTracking']);
-  (function() {
-    var u="https://analytics.apache.org/";
-    _paq.push(['setTrackerUrl', u+'matomo.php']);
-    _paq.push(['setSiteId', '13']);
-    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
-  })();
-</script>
-<!-- End Matomo -->
+        <title>airflow.executors.base_executor &mdash; Airflow Documentation</title>
+    <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../search.html" />
+            <link rel="next" title="airflow.executors.celery_executor" href="../celery_executor/index.html" />
+            <link rel="prev" title="airflow.executors" href="../index.html" />
+    <!-- Matomo -->
+    <script>
+        var _paq = window._paq = window._paq || [];
+        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+        /* We explicitly disable cookie tracking to avoid privacy issues */
+        _paq.push(['disableCookies']);
+        _paq.push(['trackPageView']);
+        _paq.push(['enableLinkTracking']);
+        (function() {
+        var u="https://analytics.apache.org/";
+        _paq.push(['setTrackerUrl', u+'matomo.php']);
+        _paq.push(['setSiteId', '13']);
+        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+        })();
+    </script>
+    <!-- End Matomo Code -->
 
     
 </head><body class="td-section">
@@ -278,8 +281,21 @@
             <div class="content-drawer">
                 <div class="td-sidebar">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -309,30 +325,124 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Entrypoint</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#allowing-arbitrary-user-to-run-the-container">Allowing arbitrary user to run the container</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-airflow-db-connection">Waits for Airflow DB connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-celery-broker-connection">Waits for celery broker connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#executing-commands">Executing commands</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#execute-custom-code-before-the-airflow-entrypoint">Execute custom code before the Airflow entrypoint</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#adding-custom-image-behaviour">Adding custom image behaviour</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#signal-propagation">Signal propagation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#additional-quick-test-options">Additional quick test options</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#upgrading-airflow-db">Upgrading Airflow DB</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#creating-admin-user">Creating admin user</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#installing-additional-requirements">Installing additional requirements</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.PARALLELISM">PARALLELISM</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.NOT_STARTED_MESSAGE">NOT_STARTED_MESSAGE</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.QUEUEING_ATTEMPTS">QUEUEING_ATTEMPTS</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.CommandType">CommandType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.QueuedTaskInstanceType">QueuedTaskInstanceType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.EventBufferValueType">EventBufferValueType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.TaskTuple">TaskTuple</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor">BaseExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.job_id">job_id</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.callback_sink">callback_sink</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.__repr__">__repr__</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.start">start</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_command">queue_command</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_task_instance">queue_task_instance</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.has_task">has_task</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.heartbeat">heartbeat</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.order_queued_tasks_by_priority">order_queued_tasks_by_priority</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.trigger_tasks">trigger_tasks</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.change_state">change_state</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.fail">fail</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.success">success</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.get_event_buffer">get_event_buffer</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.execute_async">execute_async</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.terminate">terminate</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.slots_available">slots_available</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.validate_command">validate_command</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.debug_dump">debug_dump</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.send_callback">send_callback</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -413,8 +523,21 @@
             
     <div class="td-sidebar desktop-only d-print-none">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -444,30 +567,124 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Entrypoint</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#allowing-arbitrary-user-to-run-the-container">Allowing arbitrary user to run the container</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-airflow-db-connection">Waits for Airflow DB connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-celery-broker-connection">Waits for celery broker connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#executing-commands">Executing commands</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#execute-custom-code-before-the-airflow-entrypoint">Execute custom code before the Airflow entrypoint</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#adding-custom-image-behaviour">Adding custom image behaviour</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#signal-propagation">Signal propagation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#additional-quick-test-options">Additional quick test options</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#upgrading-airflow-db">Upgrading Airflow DB</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#creating-admin-user">Creating admin user</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#installing-additional-requirements">Installing additional requirements</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.PARALLELISM">PARALLELISM</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.NOT_STARTED_MESSAGE">NOT_STARTED_MESSAGE</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.QUEUEING_ATTEMPTS">QUEUEING_ATTEMPTS</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.CommandType">CommandType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.QueuedTaskInstanceType">QueuedTaskInstanceType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.EventBufferValueType">EventBufferValueType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.TaskTuple">TaskTuple</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor">BaseExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.job_id">job_id</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.callback_sink">callback_sink</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.__repr__">__repr__</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.start">start</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_command">queue_command</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_task_instance">queue_task_instance</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.has_task">has_task</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.heartbeat">heartbeat</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.order_queued_tasks_by_priority">order_queued_tasks_by_priority</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.trigger_tasks">trigger_tasks</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.change_state">change_state</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.fail">fail</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.success">success</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.get_event_buffer">get_event_buffer</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.execute_async">execute_async</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.terminate">terminate</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.slots_available">slots_available</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.validate_command">validate_command</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.debug_dump">debug_dump</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.send_callback">send_callback</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -556,9 +773,13 @@
 
     <ul class="breadcrumb">
         
-            <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+            <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../../../../python-api-ref.html">Python API Reference</a></li>
             
-            <li class="breadcrumb-item"><a href="entrypoint.html"> Entrypoint</a></li>
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
         
     </ul>
 </div>
@@ -569,390 +790,354 @@
                                 <div class="bodywrapper">
                                     <div class="body" role="main">
                                         
-  <blockquote>
-<div></div></blockquote>
-<div class="section" id="entrypoint">
-<h1>Entrypoint<a class="headerlink" href="#entrypoint" title="Permalink to this headline">¶</a></h1>
-<p>If you are using the default entrypoint of the production image,
-there are a few actions that are automatically performed when the container starts.
-In some cases, you can pass environment variables to the image to trigger some of that behaviour.</p>
-<p>The variables that control the &quot;execution&quot; behaviour start with <code class="docutils literal notranslate"><span class="pre">_AIRFLOW</span></code> to distinguish them
-from the variables used to build the image starting with <code class="docutils literal notranslate"><span class="pre">AIRFLOW</span></code>.</p>
-<div class="section" id="allowing-arbitrary-user-to-run-the-container">
-<span id="arbitrary-docker-user"></span><h2>Allowing arbitrary user to run the container<a class="headerlink" href="#allowing-arbitrary-user-to-run-the-container" title="Permalink to this headline">¶</a></h2>
-<p>Airflow image is Open-Shift compatible, which means that you can start it with random user ID and the
-group id <code class="docutils literal notranslate"><span class="pre">0</span></code> (<code class="docutils literal notranslate"><span class="pre">root</span></code>). If you want to run the image with user different than Airflow, you MUST set
-GID of the user to <code class="docutils literal notranslate"><span class="pre">0</span></code>. In case you try to use different group, the entrypoint exits with error.</p>
-<p>OpenShift randomly assigns UID when it starts the container, but you can utilise this flexible UID
-also in case of running the image manually. This might be useful for example in case you want to
-mount <code class="docutils literal notranslate"><span class="pre">dag</span></code> and <code class="docutils literal notranslate"><span class="pre">logs</span></code> folders from host system on Linux, in which case the UID should be set
-the same ID as your host user.</p>
-<p>This can be achieved in various ways - you can change USER when you extend or customize the image or
-you can dynamically pass the user to  <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">run</span></code> command, by adding <code class="docutils literal notranslate"><span class="pre">--user</span></code> flag in one of
-those formats (See <a class="reference external" href="https://docs.docker.com/engine/reference/run/#user">Docker Run reference</a> for details):</p>
-<p><code class="docutils literal notranslate"><span class="pre">`</span>
-<span class="pre">[</span> <span class="pre">user</span> <span class="pre">|</span> <span class="pre">user:group</span> <span class="pre">|</span> <span class="pre">uid</span> <span class="pre">|</span> <span class="pre">uid:gid</span> <span class="pre">|</span> <span class="pre">user:gid</span> <span class="pre">|</span> <span class="pre">uid:group</span> <span class="pre">]</span>
-<span class="pre">`</span></code></p>
-<p>In case of Docker Compose environment it can be changed via <code class="docutils literal notranslate"><span class="pre">user:</span></code> entry in the <code class="docutils literal notranslate"><span class="pre">docker-compose.yaml</span></code>.
-See <a class="reference external" href="https://docs.docker.com/compose/compose-file/compose-file-v3/#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir">Docker compose reference</a>
-for details. In our Quickstart Guide using Docker-Compose, the UID can be passed via the
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code> variable as described in
-<a class="reference external" href="/docs/apache-airflow/stable/start/docker.html#initializing-docker-compose-environment" title="(in apache-airflow v2.3.0.dev0)"><span class="xref std std-ref">Initializing docker compose environment</span></a>.</p>
-<p>The user can be any UID. In case UID is different than the default
-<code class="docutils literal notranslate"><span class="pre">airflow</span></code> (UID=50000), the user will be automatically created when entering the container.</p>
-<p>In order to accommodate a number of external libraries and projects, Airflow will automatically create
-such an arbitrary user in (<cite>/etc/passwd</cite>) and make it's home directory point to <code class="docutils literal notranslate"><span class="pre">/home/airflow</span></code>.
-Many of 3rd-party libraries and packages require home directory of the user to be present, because they
-need to write some cache information there, so such a dynamic creation of a user is necessary.</p>
-<p>Such arbitrary user has to be able to write to certain directories that needs write access, and since
-it is not advised to allow write access to &quot;other&quot; for security reasons, the OpenShift
-guidelines introduced the concept of making all such folders have the <code class="docutils literal notranslate"><span class="pre">0</span></code> (<code class="docutils literal notranslate"><span class="pre">root</span></code>) group id (GID).
-All the directories that need write access in the Airflow production image have GID set to 0 (and
-they are writable for the group). We are following that concept and all the directories that need
-write access follow that.</p>
-<p>The GID=0 is set as default for the <code class="docutils literal notranslate"><span class="pre">airflow</span></code> user, so any directories it creates have GID set to 0
-by default. The entrypoint sets <code class="docutils literal notranslate"><span class="pre">umask</span></code> to be <code class="docutils literal notranslate"><span class="pre">0002</span></code> - this means that any directories created by
-the user have also &quot;group write&quot; access for group <code class="docutils literal notranslate"><span class="pre">0</span></code> - they will be writable by other users with
-<code class="docutils literal notranslate"><span class="pre">root</span></code> group. Also whenever any &quot;arbitrary&quot; user creates a folder (for example in a mounted volume), that
-folder will have a &quot;group write&quot; access and <code class="docutils literal notranslate"><span class="pre">GID=0</span></code>, so that execution with another, arbitrary user
-will still continue to work, even if such directory is mounted by another arbitrary user later.</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">umask</span></code> setting however only works for runtime of the container - it is not used during building of
-the image. If you would like to extend the image and add your own packages, you should remember to add
-<code class="docutils literal notranslate"><span class="pre">umask</span> <span class="pre">0002</span></code> in front of your docker command - this way the directories created by any installation
-that need group access will also be writable for the group. This can be done for example this way:</p>
-<blockquote>
-<div><div class="highlight-docker notranslate"><div class="highlight"><pre><span></span><span class="k">RUN</span><span class="w"> </span><span class="nb">umask</span> <span class="m">0002</span><span class="p">;</span> <span class="se">\</span>
-    do_something<span class="p">;</span> <span class="se">\</span>
-    do_otherthing<span class="p">;</span>
-</pre></div>
-</div>
-</div></blockquote>
-<p>You can read more about it in the &quot;Support arbitrary user ids&quot; chapter in the
-<a class="reference external" href="https://docs.openshift.com/container-platform/4.7/openshift_images/create-images.html#images-create-guide-openshift_create-images">Openshift best practices</a>.</p>
-</div>
-<div class="section" id="waits-for-airflow-db-connection">
-<h2>Waits for Airflow DB connection<a class="headerlink" href="#waits-for-airflow-db-connection" title="Permalink to this headline">¶</a></h2>
-<p>The entrypoint is waiting for a connection to the database independent of the database engine. This allows us to increase
-the stability of the environment.</p>
-<p>Waiting for connection involves executing <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">db</span> <span class="pre">check</span></code> command, which means that a <code class="docutils literal notranslate"><span class="pre">select</span> <span class="pre">1</span> <span class="pre">as</span> <span class="pre">is_alive;</span></code> statement
-is executed. Then it loops until the the command will be successful.
-It tries <span class="target" id="index-0"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT</span></code> times and sleeps <span class="target" id="index-1"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_SLEEP_TIME</span></code> between checks
-To disable check, set <code class="docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT=0</span></code>.</p>
-</div>
-<div class="section" id="waits-for-celery-broker-connection">
-<h2>Waits for celery broker connection<a class="headerlink" href="#waits-for-celery-broker-connection" title="Permalink to this headline">¶</a></h2>
-<p>In case CeleryExecutor is used, and one of the <code class="docutils literal notranslate"><span class="pre">scheduler</span></code>, <code class="docutils literal notranslate"><span class="pre">celery</span></code>
-commands are used the entrypoint will wait until the celery broker DB connection is available.</p>
-<p>The script detects backend type depending on the URL schema and assigns default port numbers if not specified
-in the URL. Then it loops until connection to the host/port specified can be established
-It tries <span class="target" id="index-2"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT</span></code> times and sleeps <span class="target" id="index-3"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_SLEEP_TIME</span></code> between checks.
-To disable check, set <code class="docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT=0</span></code>.</p>
-<p>Supported schemes:</p>
-<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">amqp(s)://</span></code>  (rabbitmq) - default port 5672</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">redis://</span></code>               - default port 6379</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">postgres://</span></code>            - default port 5432</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">mysql://</span></code>               - default port 3306</p></li>
-</ul>
-<p>Waiting for connection involves checking if a matching port is open. The host information is derived from the Airflow configuration.</p>
-</div>
-<div class="section" id="executing-commands">
-<span id="entrypoint-commands"></span><h2>Executing commands<a class="headerlink" href="#executing-commands" title="Permalink to this headline">¶</a></h2>
-<p>If first argument equals to &quot;bash&quot; - you are dropped to a bash shell or you can executes bash command
-if you specify extra arguments. For example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it apache/airflow:2.2.5-python3.6 bash -c <span class="s2">&quot;ls -la&quot;</span>
-total <span class="m">16</span>
-drwxr-xr-x <span class="m">4</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 .
-drwxr-xr-x <span class="m">1</span> root    root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 ..
-drwxr-xr-x <span class="m">2</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 dags
-drwxr-xr-x <span class="m">2</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 logs
-</pre></div>
-</div>
-<p>If first argument is equal to <code class="docutils literal notranslate"><span class="pre">python</span></code> - you are dropped in python shell or python commands are executed if
-you pass extra parameters. For example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.2.5-python3.6 python -c <span class="s2">&quot;print(&#39;test&#39;)&quot;</span>
-<span class="nb">test</span>
-</pre></div>
-</div>
-<p>If first argument equals to &quot;airflow&quot; - the rest of the arguments is treated as an airflow command
-to execute. Example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it apache/airflow:2.2.5-python3.6 airflow webserver
-</pre></div>
-</div>
-<p>If there are any other arguments - they are simply passed to the &quot;airflow&quot; command</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.2.5-python3.6 <span class="nb">help</span>
-  usage: airflow <span class="o">[</span>-h<span class="o">]</span> GROUP_OR_COMMAND ...
-
-  positional arguments:
-    GROUP_OR_COMMAND
-
-      Groups:
-        celery         Celery components
-        config         View configuration
-        connections    Manage connections
-        dags           Manage DAGs
-        db             Database operations
-        <span class="nb">jobs</span>           Manage <span class="nb">jobs</span>
-        kubernetes     Tools to <span class="nb">help</span> run the KubernetesExecutor
-        pools          Manage pools
-        providers      Display providers
-        roles          Manage roles
-        tasks          Manage tasks
-        users          Manage users
-        variables      Manage variables
-
-      Commands:
-        cheat-sheet    Display cheat sheet
-        info           Show information about current Airflow and environment
-        kerberos       Start a kerberos ticket renewer
-        plugins        Dump information about loaded plugins
-        rotate-fernet-key
-                       Rotate encrypted connection credentials and variables
-        scheduler      Start a scheduler instance
-        sync-perm      Update permissions <span class="k">for</span> existing roles and optionally DAGs
-        version        Show the version
-        webserver      Start a Airflow webserver instance
-
-  optional arguments:
-    -h, --help         show this <span class="nb">help</span> message and <span class="nb">exit</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="execute-custom-code-before-the-airflow-entrypoint">
-<h2>Execute custom code before the Airflow entrypoint<a class="headerlink" href="#execute-custom-code-before-the-airflow-entrypoint" title="Permalink to this headline">¶</a></h2>
-<p>If you want to execute some custom code before Airflow's entrypoint you can by using
-a custom script and calling Airflow's entrypoint as the
-last <code class="docutils literal notranslate"><span class="pre">exec</span></code> instruction in your custom one. However you have to remember to use <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code> in the same
-way as it is used with Airflow's entrypoint, otherwise you might have problems with proper signal
-propagation (See the next chapter).</p>
-<div class="highlight-Dockerfile notranslate"><div class="highlight"><pre><span></span><span class="k">FROM</span><span class="w"> </span><span class="s">airflow:2.3.0.dev0</span>
-<span class="k">COPY</span><span class="w"> </span>my_entrypoint.sh /
-<span class="k">ENTRYPOINT</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;/usr/bin/dumb-init&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;--&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;/my_entrypoint.sh&quot;</span><span class="p">]</span>
-</pre></div>
-</div>
-<p>Your entrypoint might for example modify or add variables on the fly. For example the below
-entrypoint sets max count of DB checks from the first parameter passed as parameter of the image
-execution (A bit useless example but should give the reader an example of how you could use it).</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
-<span class="nb">export</span> <span class="nv">CONNECTION_CHECK_MAX_COUNT</span><span class="o">=</span><span class="si">${</span><span class="nv">1</span><span class="si">}</span>
-<span class="nb">shift</span>
-<span class="nb">exec</span> /entrypoint <span class="s2">&quot;</span><span class="si">${</span><span class="p">@</span><span class="si">}</span><span class="s2">&quot;</span>
-</pre></div>
-</div>
-<p>Make sure Airflow's entrypoint is run with <code class="docutils literal notranslate"><span class="pre">exec</span> <span class="pre">/entrypoint</span> <span class="pre">&quot;${&#64;}&quot;</span></code> as the last command in your
-custom entrypoint. This way signals will be properly propagated and arguments will be passed
-to the entrypoint as usual (you can use <code class="docutils literal notranslate"><span class="pre">shift</span></code> as above if you need to pass some extra
-arguments. Note that passing secret values this way or storing secrets inside the image is a bad
-idea from security point of view - as both image and parameters to run the image with are accessible
-to anyone who has access to logs of your Kubernetes or image registry.</p>
-<p>Also be aware that code executed before Airflow's entrypoint should not create any files or
-directories inside the container and everything might not work the same way when it is executed.
-Before Airflow entrypoint is executed, the following functionalities are not available:</p>
-<ul class="simple">
-<li><p>umask is not set properly to allow <code class="docutils literal notranslate"><span class="pre">group</span></code> write access</p></li>
-<li><p>user is not yet created in <code class="docutils literal notranslate"><span class="pre">/etc/passwd</span></code> if an arbitrary user is used to run the image</p></li>
-<li><p>the database and brokers might not be available yet</p></li>
-</ul>
-</div>
-<div class="section" id="adding-custom-image-behaviour">
-<h2>Adding custom image behaviour<a class="headerlink" href="#adding-custom-image-behaviour" title="Permalink to this headline">¶</a></h2>
-<p>The Airflow image executes a lot of steps in the entrypoint, and sets the right environment, but
-you might want to run additional code after the entrypoint creates the user, sets the umask, sets
-variables and checks that database is running.</p>
-<p>Rather than running regular commands - <code class="docutils literal notranslate"><span class="pre">scheduler</span></code>, <code class="docutils literal notranslate"><span class="pre">webserver</span></code> you can run <em>custom</em> script that
-you can embed into the image. You can even execute the usual components of airflow -
-<code class="docutils literal notranslate"><span class="pre">scheduler</span></code>, <code class="docutils literal notranslate"><span class="pre">webserver</span></code> in your custom script when you finish your custom setup.
-Similarly to custom entrypoint, it can be added to the image by extending it.</p>
-<div class="highlight-Dockerfile notranslate"><div class="highlight"><pre><span></span><span class="k">FROM</span><span class="w"> </span><span class="s">airflow:2.3.0.dev0</span>
-<span class="k">COPY</span><span class="w"> </span>my_after_entrypoint_script.sh /
-</pre></div>
-</div>
-<p>Build your image and then you can run this script by running the command:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker build . --pull --tag my-image:0.0.1
-docker run -it my-image:0.0.1 bash -c <span class="s2">&quot;/my_after_entrypoint_script.sh&quot;</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="signal-propagation">
-<h2>Signal propagation<a class="headerlink" href="#signal-propagation" title="Permalink to this headline">¶</a></h2>
-<p>Airflow uses <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code> to run as &quot;init&quot; in the entrypoint. This is in order to propagate
-signals and reap child processes properly. This means that the process that you run does not have
-to install signal handlers to work properly and be killed when the container is gracefully terminated.
-The behaviour of signal propagation is configured by <code class="docutils literal notranslate"><span class="pre">DUMB_INIT_SETSID</span></code> variable which is set to
-<code class="docutils literal notranslate"><span class="pre">1</span></code> by default - meaning that the signals will be propagated to the whole process group, but you can
-set it to <code class="docutils literal notranslate"><span class="pre">0</span></code> to enable <code class="docutils literal notranslate"><span class="pre">single-child</span></code> behaviour of <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code> which only propagates the
-signals to only single child process.</p>
-<p>The table below summarizes <code class="docutils literal notranslate"><span class="pre">DUMB_INIT_SETSID</span></code> possible values and their use cases.</p>
-<table class="docutils align-default">
+  <div class="section" id="module-airflow.executors.base_executor">
+<span id="airflow-executors-base-executor"></span><h1><a class="reference internal" href="#module-airflow.executors.base_executor" title="airflow.executors.base_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a><a class="headerlink" href="#module-airflow.executors.base_executor" title="Permalink to this headline">¶</a></h1>
+<p>Base executor - this is the base class for all the implemented executors.</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
 <colgroup>
-<col style="width: 19%" />
-<col style="width: 81%" />
+<col style="width: 10%" />
+<col style="width: 90%" />
 </colgroup>
 <tbody>
-<tr class="row-odd"><td><p>Variable value</p></td>
-<td><p>Use case</p></td>
-</tr>
-<tr class="row-even"><td><p>1 (default)</p></td>
-<td><p>Propagates signals to all processes in the process group of the main
-process running in the container.</p>
-<p>If you run your processes via <code class="docutils literal notranslate"><span class="pre">[&quot;bash&quot;,</span> <span class="pre">&quot;-c&quot;]</span></code> command and bash
-spawn  new processes without <code class="docutils literal notranslate"><span class="pre">exec</span></code>, this will help to terminate
-your container gracefully as all processes will receive the signal.</p>
-</td>
-</tr>
-<tr class="row-odd"><td><p>0</p></td>
-<td><p>Propagates signals to the main process only.</p>
-<p>This is useful if your main process handles signals gracefully.
-A good example is warm shutdown of Celery workers. The <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code>
-in this case will only propagate the signals to the main process,
-but not to the processes that are spawned in the same process
-group as the main one. For example in case of Celery, the main
-process will put the worker in &quot;offline&quot; mode, and will wait
-until all running tasks complete, and only then it will
-terminate all processes.</p>
-<p>For Airflow's Celery worker, you should set the variable to 0
-and either use <code class="docutils literal notranslate"><span class="pre">[&quot;celery&quot;,</span> <span class="pre">&quot;worker&quot;]</span></code> command.
-If you are running it through <code class="docutils literal notranslate"><span class="pre">[&quot;bash&quot;,</span> <span class="pre">&quot;-c&quot;]</span></code> command,
-you  need to start the worker via <code class="docutils literal notranslate"><span class="pre">exec</span> <span class="pre">airflow</span> <span class="pre">celery</span> <span class="pre">worker</span></code>
-as the last command executed.</p>
-</td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">BaseExecutor</span></code></a></p></td>
+<td><p>Class to derive in order to interface with executor-type systems</p></td>
 </tr>
 </tbody>
 </table>
 </div>
-<div class="section" id="additional-quick-test-options">
-<h2>Additional quick test options<a class="headerlink" href="#additional-quick-test-options" title="Permalink to this headline">¶</a></h2>
-<p>The options below are mostly used for quick testing the image - for example with
-quick-start docker-compose or when you want to perform a local test with new packages
-added. They are not supposed to be run in the production environment as they add additional
-overhead for execution of additional commands. Those options in production should be realized
-either as maintenance operations on the database or should be embedded in the custom image used
-(when you want to add new packages).</p>
-<div class="section" id="upgrading-airflow-db">
-<h3>Upgrading Airflow DB<a class="headerlink" href="#upgrading-airflow-db" title="Permalink to this headline">¶</a></h3>
-<p>If you set <span class="target" id="index-4"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">_AIRFLOW_DB_UPGRADE</span></code> variable to a non-empty value, the entrypoint will run
-the <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">db</span> <span class="pre">upgrade</span></code> command right after verifying the connection. You can also use this
-when you are running airflow with internal SQLite database (default) to upgrade the db and create
-admin users at entrypoint, so that you can start the webserver immediately. Note - using SQLite is
-intended only for testing purpose, never use SQLite in production as it has severe limitations when it
-comes to concurrency.</p>
-</div>
-<div class="section" id="creating-admin-user">
-<h3>Creating admin user<a class="headerlink" href="#creating-admin-user" title="Permalink to this headline">¶</a></h3>
-<p>The entrypoint can also create webserver user automatically when you enter it. you need to set
-<span class="target" id="index-5"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_CREATE</span></code> to a non-empty value in order to do that. This is not intended for
-production, it is only useful if you would like to run a quick test with the production image.
-You need to pass at least password to create such user via <code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD</span></code> or
-<span class="target" id="index-6"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD_CMD</span></code> similarly like for other <code class="docutils literal notranslate"><span class="pre">*_CMD</span></code> variables, the content of
-the <code class="docutils literal notranslate"><span class="pre">*_CMD</span></code> will be evaluated as shell command and it's output will be set as password.</p>
-<p>User creation will fail if none of the <code class="docutils literal notranslate"><span class="pre">PASSWORD</span></code> variables are set - there is no default for
-password for security reasons.</p>
-<table class="docutils align-default">
+<div class="section" id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this headline">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
 <colgroup>
 <col style="width: 10%" />
-<col style="width: 24%" />
-<col style="width: 65%" />
+<col style="width: 90%" />
 </colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Parameter</p></th>
-<th class="head"><p>Default</p></th>
-<th class="head"><p>Environment variable</p></th>
-</tr>
-</thead>
 <tbody>
-<tr class="row-even"><td><p>username</p></td>
-<td><p>admin</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_USERNAME</span></code></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.base_executor.PARALLELISM" title="airflow.executors.base_executor.PARALLELISM"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PARALLELISM</span></code></a></p></td>
+<td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p>password</p></td>
-<td></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD_CMD</span></code> or <code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD</span></code></p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.executors.base_executor.NOT_STARTED_MESSAGE" title="airflow.executors.base_executor.NOT_STARTED_MESSAGE"><code class="xref py py-obj docutils literal notranslate"><span class="pre">NOT_STARTED_MESSAGE</span></code></a></p></td>
+<td><p></p></td>
 </tr>
-<tr class="row-even"><td><p>firstname</p></td>
-<td><p>Airflow</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_FIRSTNAME</span></code></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.base_executor.QUEUEING_ATTEMPTS" title="airflow.executors.base_executor.QUEUEING_ATTEMPTS"><code class="xref py py-obj docutils literal notranslate"><span class="pre">QUEUEING_ATTEMPTS</span></code></a></p></td>
+<td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p>lastname</p></td>
-<td><p>Admin</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_LASTNAME</span></code></p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.executors.base_executor.CommandType" title="airflow.executors.base_executor.CommandType"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CommandType</span></code></a></p></td>
+<td><p></p></td>
 </tr>
-<tr class="row-even"><td><p>email</p></td>
-<td><p><a class="reference external" href="mailto:airflowadmin&#37;&#52;&#48;example&#46;com">airflowadmin<span>&#64;</span>example<span>&#46;</span>com</a></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_EMAIL</span></code></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.base_executor.QueuedTaskInstanceType" title="airflow.executors.base_executor.QueuedTaskInstanceType"><code class="xref py py-obj docutils literal notranslate"><span class="pre">QueuedTaskInstanceType</span></code></a></p></td>
+<td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p>role</p></td>
-<td><p>Admin</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_ROLE</span></code></p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.executors.base_executor.EventBufferValueType" title="airflow.executors.base_executor.EventBufferValueType"><code class="xref py py-obj docutils literal notranslate"><span class="pre">EventBufferValueType</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.base_executor.TaskTuple" title="airflow.executors.base_executor.TaskTuple"><code class="xref py py-obj docutils literal notranslate"><span class="pre">TaskTuple</span></code></a></p></td>
+<td><p></p></td>
 </tr>
 </tbody>
 </table>
-<p>In case the password is specified, the user will be attempted to be created, but the entrypoint will
-not fail if the attempt fails (this accounts for the case that the user is already created).</p>
-<p>You can, for example start the webserver in the production image with initializing the internal SQLite
-database and creating an <code class="docutils literal notranslate"><span class="pre">admin/admin</span></code> Admin user with the following command:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it -p <span class="m">8080</span>:8080 <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_DB_UPGRADE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_CREATE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_PASSWORD=admin&quot;</span> <span class="se">\</span>
-    apache/airflow:2.2.5-python3.8 webserver
-</pre></div>
-</div>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it -p <span class="m">8080</span>:8080 <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_DB_UPGRADE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_CREATE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin&quot;</span> <span class="se">\</span>
-    apache/airflow:2.2.5-python3.8 webserver
-</pre></div>
-</div>
-<p>The commands above perform initialization of the SQLite database, create admin user with admin password
-and Admin role. They also forward local port <code class="docutils literal notranslate"><span class="pre">8080</span></code> to the webserver port and finally start the webserver.</p>
-</div>
-<div class="section" id="installing-additional-requirements">
-<h3>Installing additional requirements<a class="headerlink" href="#installing-additional-requirements" title="Permalink to this headline">¶</a></h3>
-<div class="admonition warning">
-<p class="admonition-title">Warning</p>
-<p>Installing requirements this way is a very convenient method of running Airflow, very useful for
-testing and debugging. However, do not be tricked by its convenience. You should never, ever use it in
-production environment. We have deliberately chose to make it a development/test dependency and we print
-a warning, whenever it is used. There is an inherent security-related issue with using this method in
-production. Installing the requirements this way can happen at literally any time - when your containers
-get restarted, when your machines in K8S cluster get restarted. In a K8S Cluster those events can happen
-literally any time. This opens you up to a serious vulnerability where your production environment
-might be brought down by a single dependency being removed from PyPI - or even dependency of your
-dependency. This means that you put your production service availability in hands of 3rd-party developers.
-At any time, any moment including weekends and holidays those 3rd party developers might bring your
-production Airflow instance down, without you even knowing it. This is a serious vulnerability that
-is similar to the infamous
-<a class="reference external" href="https://qz.com/646467/how-one-programmer-broke-the-internet-by-deleting-a-tiny-piece-of-code/">leftpad</a>
-problem. You can fully protect against this case by building your own, immutable custom image, where the
-dependencies are baked in. You have been warned.</p>
-</div>
-<p>Installing additional requirements can be done by specifying <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> variable.
-The variable should contain a list of requirements that should be installed additionally when entering
-the containers. Note that this option slows down starting of Airflow as every time any container starts
-it must install new packages and it opens up huge potential security vulnerability when used in production
-(see below). Therefore this option should only be used for testing. When testing is finished,
-you should create your custom image with dependencies baked in.</p>
-<p>Example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it -p <span class="m">8080</span>:8080 <span class="se">\</span>
-  --env <span class="s2">&quot;_PIP_ADDITIONAL_REQUIREMENTS=lxml==4.6.3 charset-normalizer==1.4.1&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_DB_UPGRADE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_CREATE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin&quot;</span> <span class="se">\</span>
-    apache/airflow:2.2.5-python3.8 webserver
-</pre></div>
-</div>
-<p>This method is only available starting from Docker image of Airflow 2.1.1 and above.</p>
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.PARALLELISM">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.base_executor.</span></span><span class="sig-name descname"><span class="pre">PARALLELISM</span></span><em class="property"><span class="w"> </span><span class="pre">:int</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#PARALLELISM"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_exe [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.NOT_STARTED_MESSAGE">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.base_executor.</span></span><span class="sig-name descname"><span class="pre">NOT_STARTED_MESSAGE</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">The</span> <span class="pre">executor</span> <span class="pre">should</span> <span class="pre">be</span> <span class="pre">started</span> <span class="pre">first!</span></em><a class="reference internal" href="../.. [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.QUEUEING_ATTEMPTS">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.base_executor.</span></span><span class="sig-name descname"><span class="pre">QUEUEING_ATTEMPTS</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">5</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#QUEUEING_ATTEMPTS"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlin [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.CommandType">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.base_executor.</span></span><span class="sig-name descname"><span class="pre">CommandType</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#CommandType"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_executor.CommandType" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.QueuedTaskInstanceType">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.base_executor.</span></span><span class="sig-name descname"><span class="pre">QueuedTaskInstanceType</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#QueuedTaskInstanceType"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_executor.QueuedTaskInstanceType" title="Permalink to this de [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.EventBufferValueType">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.base_executor.</span></span><span class="sig-name descname"><span class="pre">EventBufferValueType</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#EventBufferValueType"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_executor.EventBufferValueType" title="Permalink to this definiti [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.TaskTuple">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.base_executor.</span></span><span class="sig-name descname"><span class="pre">TaskTuple</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#TaskTuple"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_executor.TaskTuple" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.executors.base_executor.</span></span><span class="sig-name descname"><span class="pre">BaseExecutor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">parallelism</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PARALLELISM</span></span [...]
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>Class to derive in order to interface with executor-type systems
+like Celery, Kubernetes, Local, Sequential and the likes.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>parallelism</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><em>int</em></a>) – how many jobs should run at one time. Set to
+<code class="docutils literal notranslate"><span class="pre">0</span></code> for infinity</p>
+</dd>
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.job_id">
+<span class="sig-name descname"><span class="pre">job_id</span></span><em class="property"><span class="w"> </span><span class="pre">:Union[None,</span> <span class="pre">int,</span> <span class="pre">str]</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.job_id"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.job_id" title= [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.callback_sink">
+<span class="sig-name descname"><span class="pre">callback_sink</span></span><em class="property"><span class="w"> </span><span class="pre">:Optional[airflow.callbacks.base_callback_sink.BaseCallbackSink]</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.callback_sink"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.callback [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.__repr__">
+<span class="sig-name descname"><span class="pre">__repr__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.__repr__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.__repr__" titl [...]
+<dd><p>Return repr(self).</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.start">
+<span class="sig-name descname"><span class="pre">start</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.start"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.start" title="Permal [...]
+<dd><p>Executors may need to get things started.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.queue_command">
+<span class="sig-name descname"><span class="pre">queue_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_instance</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">command</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">priority</span></span><span class="o"><span class="pre">=</span></span>< [...]
+<dd><p>Queues command to task</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.queue_task_instance">
+<span class="sig-name descname"><span class="pre">queue_task_instance</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_instance</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mark_success</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em [...]
+<dd><p>Queues task instance.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.has_task">
+<span class="sig-name descname"><span class="pre">has_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_instance</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.has_task"><span class="viewcode-link"><span class="pre">[source]</span></span></ [...]
+<dd><p>Checks if a task is either queued or running in this executor.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>task_instance</strong> (<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstance" title="airflow.models.taskinstance.TaskInstance"><em>airflow.models.taskinstance.TaskInstance</em></a>) – TaskInstance</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True if the task is known to this executor</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.sync">
+<span class="sig-name descname"><span class="pre">sync</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.sync"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.sync" title="Permalink [...]
+<dd><p>Sync will get called periodically by the heartbeat method.
+Executors should override this to perform gather statuses.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.heartbeat">
+<span class="sig-name descname"><span class="pre">heartbeat</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.heartbeat"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.heartbeat" t [...]
+<dd><p>Heartbeat sent to trigger new jobs.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.order_queued_tasks_by_priority">
+<span class="sig-name descname"><span class="pre">order_queued_tasks_by_priority</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.order_queued_tasks_by_priority"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executo [...]
+<dd><p>Orders the queued tasks by priority.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>List of tuples from the queued_tasks according to the priority.</p>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p>List[Tuple[<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstanceKey" title="airflow.models.taskinstance.TaskInstanceKey">airflow.models.taskinstance.TaskInstanceKey</a>, QueuedTaskInstanceType]]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.trigger_tasks">
+<span class="sig-name descname"><span class="pre">trigger_tasks</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">open_slots</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.trigger_tasks"><span class="viewcode-link"><span class="pre">[source]</span></ [...]
+<dd><p>Initiates async execution of the queued tasks, up to the number of available slots.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>open_slots</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><em>int</em></a>) – Number of open slots</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.change_state">
+<span class="sig-name descname"><span class="pre">change_state</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">state</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">info</span></span><span class="o"><span class="pre">=</span></span><span class="defau [...]
+<dd><p>Changes state of the task.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>info</strong> – Executor information for the task instance</p></li>
+<li><p><strong>key</strong> (<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstanceKey" title="airflow.models.taskinstance.TaskInstanceKey"><em>airflow.models.taskinstance.TaskInstanceKey</em></a>) – Unique key for the task instance</p></li>
+<li><p><strong>state</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) – State to set for the task.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.fail">
+<span class="sig-name descname"><span class="pre">fail</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">info</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a clas [...]
+<dd><p>Set fail state for the event.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>info</strong> – Executor information for the task instance</p></li>
+<li><p><strong>key</strong> (<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstanceKey" title="airflow.models.taskinstance.TaskInstanceKey"><em>airflow.models.taskinstance.TaskInstanceKey</em></a>) – Unique key for the task instance</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.success">
+<span class="sig-name descname"><span class="pre">success</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">info</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a c [...]
+<dd><p>Set success state for the event.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>info</strong> – Executor information for the task instance</p></li>
+<li><p><strong>key</strong> (<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstanceKey" title="airflow.models.taskinstance.TaskInstanceKey"><em>airflow.models.taskinstance.TaskInstanceKey</em></a>) – Unique key for the task instance</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.get_event_buffer">
+<span class="sig-name descname"><span class="pre">get_event_buffer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dag_ids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executo [...]
+<dd><p>Returns and flush the event buffer. In case dag_ids is specified
+it will only return and flush events for the given dag_ids. Otherwise
+it returns and flushes all events.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>dag_ids</strong> – the dag_ids to return events for; returns all if given <code class="docutils literal notranslate"><span class="pre">None</span></code>.</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>a dict of events</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>Dict[<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstanceKey" title="airflow.models.taskinstance.TaskInstanceKey">airflow.models.taskinstance.TaskInstanceKey</a>, EventBufferValueType]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.execute_async">
+<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">execute_async</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">command</span></span></em>, <em class="sig-param"><span class="n"><span class="pre" [...]
+<dd><p>This method will execute the command asynchronously.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>key</strong> (<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstanceKey" title="airflow.models.taskinstance.TaskInstanceKey"><em>airflow.models.taskinstance.TaskInstanceKey</em></a>) – Unique key for the task instance</p></li>
+<li><p><strong>command</strong> (<em>CommandType</em>) – Command to run</p></li>
+<li><p><strong>queue</strong> (<em>Optional</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a><em>]</em>) – name of the queue</p></li>
+<li><p><strong>executor_config</strong> (<em>Optional</em><em>[</em><em>Any</em><em>]</em>) – Configuration passed to the executor.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.end">
+<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">end</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.end"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="heade [...]
+<dd><p>This method is called when the caller is done submitting job and
+wants to wait synchronously for the job submitted previously to be
+all done.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.terminate">
+<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">terminate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.terminate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a  [...]
+<dd><p>This method is called when the daemon receives a SIGTERM</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.try_adopt_task_instances">
+<span class="sig-name descname"><span class="pre">try_adopt_task_instances</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tis</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.try_adopt_task_instances"><span class="viewcode-link"><span class="pre">[s [...]
+<dd><p>Try to adopt running task instances that have been abandoned by a SchedulerJob dying.</p>
+<p>Anything that is not adopted will be cleared by the scheduler (and then become eligible for
+re-scheduling)</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>any TaskInstances that were unable to be adopted</p>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.10)">list</a>[airflow.models.TaskInstance]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.slots_available">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">slots_available</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.slots_available"><span class="viewcode-link"><span class="pre">[source]</span></ [...]
+<dd><p>Number of new tasks this executor instance can accept</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.validate_command">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">validate_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">command</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.validate_command"><span class="viewcode-link"><span class="pre">[source]</span [...]
+<dd><p>Check if the command to execute is airflow command</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.debug_dump">
+<span class="sig-name descname"><span class="pre">debug_dump</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.debug_dump"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.debug_dump [...]
+<dd><p>Called in response to SIGUSR2 by the scheduler</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.base_executor.BaseExecutor.send_callback">
+<span class="sig-name descname"><span class="pre">send_callback</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.send_callback"><span class="viewcode-link"><span class="pre">[source]</span></spa [...]
+<dd><p>Sends callback for execution.</p>
+<p>Provides a default implementation which sends the callback to the <cite>callback_sink</cite> object.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>request</strong> (<em>airflow.callbacks.callback_requests.CallbackRequest</em>) – Callback request to be executed.</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
 </div>
 </div>
 </div>
 
 
     <div class="pager" role="navigation" aria-label="related navigation">
-            <a rel="prev" title="Building the image" href="build.html" >
+            <a rel="prev" title="airflow.executors" href="../index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
             </a>
-            <a rel="next" title="Recipes" href="recipes.html" >
+            <a rel="next" title="airflow.executors.celery_executor" href="../celery_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
             </a>
     </div>
@@ -1022,18 +1207,45 @@ you should create your custom image with dependencies baked in.</p>
     <nav class="wy-nav-side-toc">
         <div class="wy-menu-vertical">
             <ul>
-<li><a class="reference internal" href="#">Entrypoint</a><ul>
-<li><a class="reference internal" href="#allowing-arbitrary-user-to-run-the-container">Allowing arbitrary user to run the container</a></li>
-<li><a class="reference internal" href="#waits-for-airflow-db-connection">Waits for Airflow DB connection</a></li>
-<li><a class="reference internal" href="#waits-for-celery-broker-connection">Waits for celery broker connection</a></li>
-<li><a class="reference internal" href="#executing-commands">Executing commands</a></li>
-<li><a class="reference internal" href="#execute-custom-code-before-the-airflow-entrypoint">Execute custom code before the Airflow entrypoint</a></li>
-<li><a class="reference internal" href="#adding-custom-image-behaviour">Adding custom image behaviour</a></li>
-<li><a class="reference internal" href="#signal-propagation">Signal propagation</a></li>
-<li><a class="reference internal" href="#additional-quick-test-options">Additional quick test options</a><ul>
-<li><a class="reference internal" href="#upgrading-airflow-db">Upgrading Airflow DB</a></li>
-<li><a class="reference internal" href="#creating-admin-user">Creating admin user</a></li>
-<li><a class="reference internal" href="#installing-additional-requirements">Installing additional requirements</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a></li>
+<li><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.PARALLELISM">PARALLELISM</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.NOT_STARTED_MESSAGE">NOT_STARTED_MESSAGE</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.QUEUEING_ATTEMPTS">QUEUEING_ATTEMPTS</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.CommandType">CommandType</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.QueuedTaskInstanceType">QueuedTaskInstanceType</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.EventBufferValueType">EventBufferValueType</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.TaskTuple">TaskTuple</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor">BaseExecutor</a><ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.job_id">job_id</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.callback_sink">callback_sink</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.__repr__">__repr__</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.start">start</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_command">queue_command</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_task_instance">queue_task_instance</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.has_task">has_task</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.sync">sync</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.heartbeat">heartbeat</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.order_queued_tasks_by_priority">order_queued_tasks_by_priority</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.trigger_tasks">trigger_tasks</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.change_state">change_state</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.fail">fail</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.success">success</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.get_event_buffer">get_event_buffer</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.execute_async">execute_async</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.end">end</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.terminate">terminate</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.slots_available">slots_available</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.validate_command">validate_command</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.debug_dump">debug_dump</a></li>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.send_callback">send_callback</a></li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -1060,7 +1272,7 @@ you should create your custom image with dependencies baked in.</p>
             
         
         <div class="base-layout--button">
-            <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/entrypoint.rst" rel="nofollow">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/executors/base_executor/index.rst" rel="nofollow">
 
                 <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
                     <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1194,16 +1406,17 @@ you should create your custom image with dependencies baked in.</p>
         </span>
     </div>
 </footer>
-    <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
-    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+    <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
-        <script src="_static/jquery.js"></script>
-        <script src="_static/underscore.js"></script>
-        <script src="_static/doctools.js"></script>
-        <script src="_static/clipboard.min.js"></script>
-        <script src="_static/copybutton.js"></script>
+        <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+        <script src="../../../../_static/jquery.js"></script>
+        <script src="../../../../_static/underscore.js"></script>
+        <script src="../../../../_static/doctools.js"></script>
+        <script src="../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../_static/copybutton.js"></script>
+        <script src="../../../../_static/gh-jira-links.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/entrypoint.html b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/celery_executor/index.html
similarity index 55%
copy from docs-archive/docker-stack/entrypoint.html
copy to docs-archive/apache-airflow/2.3.0/_api/airflow/executors/celery_executor/index.html
index 4f84ce01b..a7368b6c6 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/celery_executor/index.html
@@ -9,32 +9,35 @@
 <head>
         <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1">
-        <title>Entrypoint &mdash; docker-stack Documentation</title>
-    <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
-            <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
-            <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
-            <link rel="shortcut icon" href="_static/pin_32.png"/>
-            <link rel="index" title="Index" href="genindex.html" />
-            <link rel="search" title="Search" href="search.html" />
-            <link rel="next" title="Recipes" href="recipes.html" />
-            <link rel="prev" title="Building the image" href="build.html" />
-<!-- Matomo -->
-<script>
-  var _paq = window._paq = window._paq || [];
-  _paq.push(['disableCookies']);
-  _paq.push(['trackPageView']);
-  _paq.push(['enableLinkTracking']);
-  (function() {
-    var u="https://analytics.apache.org/";
-    _paq.push(['setTrackerUrl', u+'matomo.php']);
-    _paq.push(['setSiteId', '13']);
-    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
-  })();
-</script>
-<!-- End Matomo -->
+        <title>airflow.executors.celery_executor &mdash; Airflow Documentation</title>
+    <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../search.html" />
+            <link rel="next" title="airflow.executors.celery_kubernetes_executor" href="../celery_kubernetes_executor/index.html" />
+            <link rel="prev" title="airflow.executors.base_executor" href="../base_executor/index.html" />
+    <!-- Matomo -->
+    <script>
+        var _paq = window._paq = window._paq || [];
+        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+        /* We explicitly disable cookie tracking to avoid privacy issues */
+        _paq.push(['disableCookies']);
+        _paq.push(['trackPageView']);
+        _paq.push(['enableLinkTracking']);
+        (function() {
+        var u="https://analytics.apache.org/";
+        _paq.push(['setTrackerUrl', u+'matomo.php']);
+        _paq.push(['setSiteId', '13']);
+        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+        })();
+    </script>
+    <!-- End Matomo Code -->
 
     
 </head><body class="td-section">
@@ -278,8 +281,21 @@
             <div class="content-drawer">
                 <div class="td-sidebar">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -309,30 +325,121 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Entrypoint</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#allowing-arbitrary-user-to-run-the-container">Allowing arbitrary user to run the container</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-airflow-db-connection">Waits for Airflow DB connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-celery-broker-connection">Waits for celery broker connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#executing-commands">Executing commands</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#execute-custom-code-before-the-airflow-entrypoint">Execute custom code before the Airflow entrypoint</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#adding-custom-image-behaviour">Adding custom image behaviour</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#signal-propagation">Signal propagation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#additional-quick-test-options">Additional quick test options</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#upgrading-airflow-db">Upgrading Airflow DB</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#creating-admin-user">Creating admin user</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#installing-additional-requirements">Installing additional requirements</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.log">log</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_FETCH_ERR_MSG_HEADER">CELERY_FETCH_ERR_MSG_HEADER</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER">CELERY_SEND_ERR_MSG_HEADER</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.OPERATION_TIMEOUT">OPERATION_TIMEOUT</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.celery_configuration">celery_configuration</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.app">app</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.execute_command">execute_command</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.ExceptionWithTraceback">ExceptionWithTraceback</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.TaskInstanceInCelery">TaskInstanceInCelery</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.send_task_to_executor">send_task_to_executor</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.on_celery_import_modules">on_celery_import_modules</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor">CeleryExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.supports_ad_hoc_ti_run">supports_ad_hoc_ti_run</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.start">start</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.debug_dump">debug_dump</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_all_task_states">update_all_task_states</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.change_state">change_state</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_task_state">update_task_state</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.terminate">terminate</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
 </ul>
 </li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.fetch_celery_task_state">fetch_celery_task_state</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher">BulkStateFetcher</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher.get_many">get_many</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -413,8 +520,21 @@
             
     <div class="td-sidebar desktop-only d-print-none">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -444,30 +564,121 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Entrypoint</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#allowing-arbitrary-user-to-run-the-container">Allowing arbitrary user to run the container</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-airflow-db-connection">Waits for Airflow DB connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-celery-broker-connection">Waits for celery broker connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#executing-commands">Executing commands</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#execute-custom-code-before-the-airflow-entrypoint">Execute custom code before the Airflow entrypoint</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#adding-custom-image-behaviour">Adding custom image behaviour</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#signal-propagation">Signal propagation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#additional-quick-test-options">Additional quick test options</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#upgrading-airflow-db">Upgrading Airflow DB</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#creating-admin-user">Creating admin user</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#installing-additional-requirements">Installing additional requirements</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.log">log</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_FETCH_ERR_MSG_HEADER">CELERY_FETCH_ERR_MSG_HEADER</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER">CELERY_SEND_ERR_MSG_HEADER</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.OPERATION_TIMEOUT">OPERATION_TIMEOUT</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.celery_configuration">celery_configuration</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.app">app</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.execute_command">execute_command</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.ExceptionWithTraceback">ExceptionWithTraceback</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.TaskInstanceInCelery">TaskInstanceInCelery</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.send_task_to_executor">send_task_to_executor</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.on_celery_import_modules">on_celery_import_modules</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor">CeleryExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.supports_ad_hoc_ti_run">supports_ad_hoc_ti_run</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.start">start</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.debug_dump">debug_dump</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_all_task_states">update_all_task_states</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.change_state">change_state</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_task_state">update_task_state</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.terminate">terminate</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
 </ul>
 </li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.fetch_celery_task_state">fetch_celery_task_state</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher">BulkStateFetcher</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher.get_many">get_many</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -556,9 +767,13 @@
 
     <ul class="breadcrumb">
         
-            <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+            <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../../../../python-api-ref.html">Python API Reference</a></li>
+            
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
             
-            <li class="breadcrumb-item"><a href="entrypoint.html"> Entrypoint</a></li>
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
         
     </ul>
 </div>
@@ -569,390 +784,318 @@
                                 <div class="bodywrapper">
                                     <div class="body" role="main">
                                         
-  <blockquote>
-<div></div></blockquote>
-<div class="section" id="entrypoint">
-<h1>Entrypoint<a class="headerlink" href="#entrypoint" title="Permalink to this headline">¶</a></h1>
-<p>If you are using the default entrypoint of the production image,
-there are a few actions that are automatically performed when the container starts.
-In some cases, you can pass environment variables to the image to trigger some of that behaviour.</p>
-<p>The variables that control the &quot;execution&quot; behaviour start with <code class="docutils literal notranslate"><span class="pre">_AIRFLOW</span></code> to distinguish them
-from the variables used to build the image starting with <code class="docutils literal notranslate"><span class="pre">AIRFLOW</span></code>.</p>
-<div class="section" id="allowing-arbitrary-user-to-run-the-container">
-<span id="arbitrary-docker-user"></span><h2>Allowing arbitrary user to run the container<a class="headerlink" href="#allowing-arbitrary-user-to-run-the-container" title="Permalink to this headline">¶</a></h2>
-<p>Airflow image is Open-Shift compatible, which means that you can start it with random user ID and the
-group id <code class="docutils literal notranslate"><span class="pre">0</span></code> (<code class="docutils literal notranslate"><span class="pre">root</span></code>). If you want to run the image with user different than Airflow, you MUST set
-GID of the user to <code class="docutils literal notranslate"><span class="pre">0</span></code>. In case you try to use different group, the entrypoint exits with error.</p>
-<p>OpenShift randomly assigns UID when it starts the container, but you can utilise this flexible UID
-also in case of running the image manually. This might be useful for example in case you want to
-mount <code class="docutils literal notranslate"><span class="pre">dag</span></code> and <code class="docutils literal notranslate"><span class="pre">logs</span></code> folders from host system on Linux, in which case the UID should be set
-the same ID as your host user.</p>
-<p>This can be achieved in various ways - you can change USER when you extend or customize the image or
-you can dynamically pass the user to  <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">run</span></code> command, by adding <code class="docutils literal notranslate"><span class="pre">--user</span></code> flag in one of
-those formats (See <a class="reference external" href="https://docs.docker.com/engine/reference/run/#user">Docker Run reference</a> for details):</p>
-<p><code class="docutils literal notranslate"><span class="pre">`</span>
-<span class="pre">[</span> <span class="pre">user</span> <span class="pre">|</span> <span class="pre">user:group</span> <span class="pre">|</span> <span class="pre">uid</span> <span class="pre">|</span> <span class="pre">uid:gid</span> <span class="pre">|</span> <span class="pre">user:gid</span> <span class="pre">|</span> <span class="pre">uid:group</span> <span class="pre">]</span>
-<span class="pre">`</span></code></p>
-<p>In case of Docker Compose environment it can be changed via <code class="docutils literal notranslate"><span class="pre">user:</span></code> entry in the <code class="docutils literal notranslate"><span class="pre">docker-compose.yaml</span></code>.
-See <a class="reference external" href="https://docs.docker.com/compose/compose-file/compose-file-v3/#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir">Docker compose reference</a>
-for details. In our Quickstart Guide using Docker-Compose, the UID can be passed via the
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code> variable as described in
-<a class="reference external" href="/docs/apache-airflow/stable/start/docker.html#initializing-docker-compose-environment" title="(in apache-airflow v2.3.0.dev0)"><span class="xref std std-ref">Initializing docker compose environment</span></a>.</p>
-<p>The user can be any UID. In case UID is different than the default
-<code class="docutils literal notranslate"><span class="pre">airflow</span></code> (UID=50000), the user will be automatically created when entering the container.</p>
-<p>In order to accommodate a number of external libraries and projects, Airflow will automatically create
-such an arbitrary user in (<cite>/etc/passwd</cite>) and make it's home directory point to <code class="docutils literal notranslate"><span class="pre">/home/airflow</span></code>.
-Many of 3rd-party libraries and packages require home directory of the user to be present, because they
-need to write some cache information there, so such a dynamic creation of a user is necessary.</p>
-<p>Such arbitrary user has to be able to write to certain directories that needs write access, and since
-it is not advised to allow write access to &quot;other&quot; for security reasons, the OpenShift
-guidelines introduced the concept of making all such folders have the <code class="docutils literal notranslate"><span class="pre">0</span></code> (<code class="docutils literal notranslate"><span class="pre">root</span></code>) group id (GID).
-All the directories that need write access in the Airflow production image have GID set to 0 (and
-they are writable for the group). We are following that concept and all the directories that need
-write access follow that.</p>
-<p>The GID=0 is set as default for the <code class="docutils literal notranslate"><span class="pre">airflow</span></code> user, so any directories it creates have GID set to 0
-by default. The entrypoint sets <code class="docutils literal notranslate"><span class="pre">umask</span></code> to be <code class="docutils literal notranslate"><span class="pre">0002</span></code> - this means that any directories created by
-the user have also &quot;group write&quot; access for group <code class="docutils literal notranslate"><span class="pre">0</span></code> - they will be writable by other users with
-<code class="docutils literal notranslate"><span class="pre">root</span></code> group. Also whenever any &quot;arbitrary&quot; user creates a folder (for example in a mounted volume), that
-folder will have a &quot;group write&quot; access and <code class="docutils literal notranslate"><span class="pre">GID=0</span></code>, so that execution with another, arbitrary user
-will still continue to work, even if such directory is mounted by another arbitrary user later.</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">umask</span></code> setting however only works for runtime of the container - it is not used during building of
-the image. If you would like to extend the image and add your own packages, you should remember to add
-<code class="docutils literal notranslate"><span class="pre">umask</span> <span class="pre">0002</span></code> in front of your docker command - this way the directories created by any installation
-that need group access will also be writable for the group. This can be done for example this way:</p>
-<blockquote>
-<div><div class="highlight-docker notranslate"><div class="highlight"><pre><span></span><span class="k">RUN</span><span class="w"> </span><span class="nb">umask</span> <span class="m">0002</span><span class="p">;</span> <span class="se">\</span>
-    do_something<span class="p">;</span> <span class="se">\</span>
-    do_otherthing<span class="p">;</span>
-</pre></div>
-</div>
-</div></blockquote>
-<p>You can read more about it in the &quot;Support arbitrary user ids&quot; chapter in the
-<a class="reference external" href="https://docs.openshift.com/container-platform/4.7/openshift_images/create-images.html#images-create-guide-openshift_create-images">Openshift best practices</a>.</p>
-</div>
-<div class="section" id="waits-for-airflow-db-connection">
-<h2>Waits for Airflow DB connection<a class="headerlink" href="#waits-for-airflow-db-connection" title="Permalink to this headline">¶</a></h2>
-<p>The entrypoint is waiting for a connection to the database independent of the database engine. This allows us to increase
-the stability of the environment.</p>
-<p>Waiting for connection involves executing <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">db</span> <span class="pre">check</span></code> command, which means that a <code class="docutils literal notranslate"><span class="pre">select</span> <span class="pre">1</span> <span class="pre">as</span> <span class="pre">is_alive;</span></code> statement
-is executed. Then it loops until the the command will be successful.
-It tries <span class="target" id="index-0"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT</span></code> times and sleeps <span class="target" id="index-1"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_SLEEP_TIME</span></code> between checks
-To disable check, set <code class="docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT=0</span></code>.</p>
-</div>
-<div class="section" id="waits-for-celery-broker-connection">
-<h2>Waits for celery broker connection<a class="headerlink" href="#waits-for-celery-broker-connection" title="Permalink to this headline">¶</a></h2>
-<p>In case CeleryExecutor is used, and one of the <code class="docutils literal notranslate"><span class="pre">scheduler</span></code>, <code class="docutils literal notranslate"><span class="pre">celery</span></code>
-commands are used the entrypoint will wait until the celery broker DB connection is available.</p>
-<p>The script detects backend type depending on the URL schema and assigns default port numbers if not specified
-in the URL. Then it loops until connection to the host/port specified can be established
-It tries <span class="target" id="index-2"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT</span></code> times and sleeps <span class="target" id="index-3"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_SLEEP_TIME</span></code> between checks.
-To disable check, set <code class="docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT=0</span></code>.</p>
-<p>Supported schemes:</p>
-<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">amqp(s)://</span></code>  (rabbitmq) - default port 5672</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">redis://</span></code>               - default port 6379</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">postgres://</span></code>            - default port 5432</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">mysql://</span></code>               - default port 3306</p></li>
-</ul>
-<p>Waiting for connection involves checking if a matching port is open. The host information is derived from the Airflow configuration.</p>
-</div>
-<div class="section" id="executing-commands">
-<span id="entrypoint-commands"></span><h2>Executing commands<a class="headerlink" href="#executing-commands" title="Permalink to this headline">¶</a></h2>
-<p>If first argument equals to &quot;bash&quot; - you are dropped to a bash shell or you can executes bash command
-if you specify extra arguments. For example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it apache/airflow:2.2.5-python3.6 bash -c <span class="s2">&quot;ls -la&quot;</span>
-total <span class="m">16</span>
-drwxr-xr-x <span class="m">4</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 .
-drwxr-xr-x <span class="m">1</span> root    root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 ..
-drwxr-xr-x <span class="m">2</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 dags
-drwxr-xr-x <span class="m">2</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 logs
-</pre></div>
-</div>
-<p>If first argument is equal to <code class="docutils literal notranslate"><span class="pre">python</span></code> - you are dropped in python shell or python commands are executed if
-you pass extra parameters. For example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.2.5-python3.6 python -c <span class="s2">&quot;print(&#39;test&#39;)&quot;</span>
-<span class="nb">test</span>
-</pre></div>
-</div>
-<p>If first argument equals to &quot;airflow&quot; - the rest of the arguments is treated as an airflow command
-to execute. Example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it apache/airflow:2.2.5-python3.6 airflow webserver
-</pre></div>
-</div>
-<p>If there are any other arguments - they are simply passed to the &quot;airflow&quot; command</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.2.5-python3.6 <span class="nb">help</span>
-  usage: airflow <span class="o">[</span>-h<span class="o">]</span> GROUP_OR_COMMAND ...
-
-  positional arguments:
-    GROUP_OR_COMMAND
-
-      Groups:
-        celery         Celery components
-        config         View configuration
-        connections    Manage connections
-        dags           Manage DAGs
-        db             Database operations
-        <span class="nb">jobs</span>           Manage <span class="nb">jobs</span>
-        kubernetes     Tools to <span class="nb">help</span> run the KubernetesExecutor
-        pools          Manage pools
-        providers      Display providers
-        roles          Manage roles
-        tasks          Manage tasks
-        users          Manage users
-        variables      Manage variables
-
-      Commands:
-        cheat-sheet    Display cheat sheet
-        info           Show information about current Airflow and environment
-        kerberos       Start a kerberos ticket renewer
-        plugins        Dump information about loaded plugins
-        rotate-fernet-key
-                       Rotate encrypted connection credentials and variables
-        scheduler      Start a scheduler instance
-        sync-perm      Update permissions <span class="k">for</span> existing roles and optionally DAGs
-        version        Show the version
-        webserver      Start a Airflow webserver instance
-
-  optional arguments:
-    -h, --help         show this <span class="nb">help</span> message and <span class="nb">exit</span>
-</pre></div>
-</div>
+  <div class="section" id="module-airflow.executors.celery_executor">
+<span id="airflow-executors-celery-executor"></span><h1><a class="reference internal" href="#module-airflow.executors.celery_executor" title="airflow.executors.celery_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a><a class="headerlink" href="#module-airflow.executors.celery_executor" title="Permalink to this headline">¶</a></h1>
+<p>CeleryExecutor</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>For more information on how the CeleryExecutor works, take a look at the guide:
+<a class="reference internal" href="../../../../executor/celery.html#executor-celeryexecutor"><span class="std std-ref">Celery Executor</span></a></p>
 </div>
-<div class="section" id="execute-custom-code-before-the-airflow-entrypoint">
-<h2>Execute custom code before the Airflow entrypoint<a class="headerlink" href="#execute-custom-code-before-the-airflow-entrypoint" title="Permalink to this headline">¶</a></h2>
-<p>If you want to execute some custom code before Airflow's entrypoint you can by using
-a custom script and calling Airflow's entrypoint as the
-last <code class="docutils literal notranslate"><span class="pre">exec</span></code> instruction in your custom one. However you have to remember to use <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code> in the same
-way as it is used with Airflow's entrypoint, otherwise you might have problems with proper signal
-propagation (See the next chapter).</p>
-<div class="highlight-Dockerfile notranslate"><div class="highlight"><pre><span></span><span class="k">FROM</span><span class="w"> </span><span class="s">airflow:2.3.0.dev0</span>
-<span class="k">COPY</span><span class="w"> </span>my_entrypoint.sh /
-<span class="k">ENTRYPOINT</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;/usr/bin/dumb-init&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;--&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;/my_entrypoint.sh&quot;</span><span class="p">]</span>
-</pre></div>
-</div>
-<p>Your entrypoint might for example modify or add variables on the fly. For example the below
-entrypoint sets max count of DB checks from the first parameter passed as parameter of the image
-execution (A bit useless example but should give the reader an example of how you could use it).</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
-<span class="nb">export</span> <span class="nv">CONNECTION_CHECK_MAX_COUNT</span><span class="o">=</span><span class="si">${</span><span class="nv">1</span><span class="si">}</span>
-<span class="nb">shift</span>
-<span class="nb">exec</span> /entrypoint <span class="s2">&quot;</span><span class="si">${</span><span class="p">@</span><span class="si">}</span><span class="s2">&quot;</span>
-</pre></div>
-</div>
-<p>Make sure Airflow's entrypoint is run with <code class="docutils literal notranslate"><span class="pre">exec</span> <span class="pre">/entrypoint</span> <span class="pre">&quot;${&#64;}&quot;</span></code> as the last command in your
-custom entrypoint. This way signals will be properly propagated and arguments will be passed
-to the entrypoint as usual (you can use <code class="docutils literal notranslate"><span class="pre">shift</span></code> as above if you need to pass some extra
-arguments. Note that passing secret values this way or storing secrets inside the image is a bad
-idea from security point of view - as both image and parameters to run the image with are accessible
-to anyone who has access to logs of your Kubernetes or image registry.</p>
-<p>Also be aware that code executed before Airflow's entrypoint should not create any files or
-directories inside the container and everything might not work the same way when it is executed.
-Before Airflow entrypoint is executed, the following functionalities are not available:</p>
-<ul class="simple">
-<li><p>umask is not set properly to allow <code class="docutils literal notranslate"><span class="pre">group</span></code> write access</p></li>
-<li><p>user is not yet created in <code class="docutils literal notranslate"><span class="pre">/etc/passwd</span></code> if an arbitrary user is used to run the image</p></li>
-<li><p>the database and brokers might not be available yet</p></li>
-</ul>
-</div>
-<div class="section" id="adding-custom-image-behaviour">
-<h2>Adding custom image behaviour<a class="headerlink" href="#adding-custom-image-behaviour" title="Permalink to this headline">¶</a></h2>
-<p>The Airflow image executes a lot of steps in the entrypoint, and sets the right environment, but
-you might want to run additional code after the entrypoint creates the user, sets the umask, sets
-variables and checks that database is running.</p>
-<p>Rather than running regular commands - <code class="docutils literal notranslate"><span class="pre">scheduler</span></code>, <code class="docutils literal notranslate"><span class="pre">webserver</span></code> you can run <em>custom</em> script that
-you can embed into the image. You can even execute the usual components of airflow -
-<code class="docutils literal notranslate"><span class="pre">scheduler</span></code>, <code class="docutils literal notranslate"><span class="pre">webserver</span></code> in your custom script when you finish your custom setup.
-Similarly to custom entrypoint, it can be added to the image by extending it.</p>
-<div class="highlight-Dockerfile notranslate"><div class="highlight"><pre><span></span><span class="k">FROM</span><span class="w"> </span><span class="s">airflow:2.3.0.dev0</span>
-<span class="k">COPY</span><span class="w"> </span>my_after_entrypoint_script.sh /
-</pre></div>
-</div>
-<p>Build your image and then you can run this script by running the command:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker build . --pull --tag my-image:0.0.1
-docker run -it my-image:0.0.1 bash -c <span class="s2">&quot;/my_after_entrypoint_script.sh&quot;</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="signal-propagation">
-<h2>Signal propagation<a class="headerlink" href="#signal-propagation" title="Permalink to this headline">¶</a></h2>
-<p>Airflow uses <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code> to run as &quot;init&quot; in the entrypoint. This is in order to propagate
-signals and reap child processes properly. This means that the process that you run does not have
-to install signal handlers to work properly and be killed when the container is gracefully terminated.
-The behaviour of signal propagation is configured by <code class="docutils literal notranslate"><span class="pre">DUMB_INIT_SETSID</span></code> variable which is set to
-<code class="docutils literal notranslate"><span class="pre">1</span></code> by default - meaning that the signals will be propagated to the whole process group, but you can
-set it to <code class="docutils literal notranslate"><span class="pre">0</span></code> to enable <code class="docutils literal notranslate"><span class="pre">single-child</span></code> behaviour of <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code> which only propagates the
-signals to only single child process.</p>
-<p>The table below summarizes <code class="docutils literal notranslate"><span class="pre">DUMB_INIT_SETSID</span></code> possible values and their use cases.</p>
-<table class="docutils align-default">
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
 <colgroup>
-<col style="width: 19%" />
-<col style="width: 81%" />
+<col style="width: 10%" />
+<col style="width: 90%" />
 </colgroup>
 <tbody>
-<tr class="row-odd"><td><p>Variable value</p></td>
-<td><p>Use case</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.ExceptionWithTraceback" title="airflow.executors.celery_executor.ExceptionWithTraceback"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ExceptionWithTraceback</span></code></a></p></td>
+<td><p>Wrapper class used to propagate exceptions to parent processes from subprocesses.</p></td>
 </tr>
-<tr class="row-even"><td><p>1 (default)</p></td>
-<td><p>Propagates signals to all processes in the process group of the main
-process running in the container.</p>
-<p>If you run your processes via <code class="docutils literal notranslate"><span class="pre">[&quot;bash&quot;,</span> <span class="pre">&quot;-c&quot;]</span></code> command and bash
-spawn  new processes without <code class="docutils literal notranslate"><span class="pre">exec</span></code>, this will help to terminate
-your container gracefully as all processes will receive the signal.</p>
-</td>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor" title="airflow.executors.celery_executor.CeleryExecutor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CeleryExecutor</span></code></a></p></td>
+<td><p>CeleryExecutor is recommended for production use of Airflow. It allows</p></td>
 </tr>
-<tr class="row-odd"><td><p>0</p></td>
-<td><p>Propagates signals to the main process only.</p>
-<p>This is useful if your main process handles signals gracefully.
-A good example is warm shutdown of Celery workers. The <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code>
-in this case will only propagate the signals to the main process,
-but not to the processes that are spawned in the same process
-group as the main one. For example in case of Celery, the main
-process will put the worker in &quot;offline&quot; mode, and will wait
-until all running tasks complete, and only then it will
-terminate all processes.</p>
-<p>For Airflow's Celery worker, you should set the variable to 0
-and either use <code class="docutils literal notranslate"><span class="pre">[&quot;celery&quot;,</span> <span class="pre">&quot;worker&quot;]</span></code> command.
-If you are running it through <code class="docutils literal notranslate"><span class="pre">[&quot;bash&quot;,</span> <span class="pre">&quot;-c&quot;]</span></code> command,
-you  need to start the worker via <code class="docutils literal notranslate"><span class="pre">exec</span> <span class="pre">airflow</span> <span class="pre">celery</span> <span class="pre">worker</span></code>
-as the last command executed.</p>
-</td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher" title="airflow.executors.celery_executor.BulkStateFetcher"><code class="xref py py-obj docutils literal notranslate"><span class="pre">BulkStateFetcher</span></code></a></p></td>
+<td><p>Gets status for many Celery tasks using the best method available</p></td>
 </tr>
 </tbody>
 </table>
 </div>
-<div class="section" id="additional-quick-test-options">
-<h2>Additional quick test options<a class="headerlink" href="#additional-quick-test-options" title="Permalink to this headline">¶</a></h2>
-<p>The options below are mostly used for quick testing the image - for example with
-quick-start docker-compose or when you want to perform a local test with new packages
-added. They are not supposed to be run in the production environment as they add additional
-overhead for execution of additional commands. Those options in production should be realized
-either as maintenance operations on the database or should be embedded in the custom image used
-(when you want to add new packages).</p>
-<div class="section" id="upgrading-airflow-db">
-<h3>Upgrading Airflow DB<a class="headerlink" href="#upgrading-airflow-db" title="Permalink to this headline">¶</a></h3>
-<p>If you set <span class="target" id="index-4"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">_AIRFLOW_DB_UPGRADE</span></code> variable to a non-empty value, the entrypoint will run
-the <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">db</span> <span class="pre">upgrade</span></code> command right after verifying the connection. You can also use this
-when you are running airflow with internal SQLite database (default) to upgrade the db and create
-admin users at entrypoint, so that you can start the webserver immediately. Note - using SQLite is
-intended only for testing purpose, never use SQLite in production as it has severe limitations when it
-comes to concurrency.</p>
-</div>
-<div class="section" id="creating-admin-user">
-<h3>Creating admin user<a class="headerlink" href="#creating-admin-user" title="Permalink to this headline">¶</a></h3>
-<p>The entrypoint can also create webserver user automatically when you enter it. you need to set
-<span class="target" id="index-5"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_CREATE</span></code> to a non-empty value in order to do that. This is not intended for
-production, it is only useful if you would like to run a quick test with the production image.
-You need to pass at least password to create such user via <code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD</span></code> or
-<span class="target" id="index-6"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD_CMD</span></code> similarly like for other <code class="docutils literal notranslate"><span class="pre">*_CMD</span></code> variables, the content of
-the <code class="docutils literal notranslate"><span class="pre">*_CMD</span></code> will be evaluated as shell command and it's output will be set as password.</p>
-<p>User creation will fail if none of the <code class="docutils literal notranslate"><span class="pre">PASSWORD</span></code> variables are set - there is no default for
-password for security reasons.</p>
-<table class="docutils align-default">
+<div class="section" id="functions">
+<h3>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
 <colgroup>
 <col style="width: 10%" />
-<col style="width: 24%" />
-<col style="width: 65%" />
+<col style="width: 90%" />
 </colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Parameter</p></th>
-<th class="head"><p>Default</p></th>
-<th class="head"><p>Environment variable</p></th>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.execute_command" title="airflow.executors.celery_executor.execute_command"><code class="xref py py-obj docutils literal notranslate"><span class="pre">execute_command</span></code></a>(command_to_exec)</p></td>
+<td><p>Executes command.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.send_task_to_executor" title="airflow.executors.celery_executor.send_task_to_executor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">send_task_to_executor</span></code></a>(task_tuple)</p></td>
+<td><p>Sends task to executor.</p></td>
 </tr>
-</thead>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.on_celery_import_modules" title="airflow.executors.celery_executor.on_celery_import_modules"><code class="xref py py-obj docutils literal notranslate"><span class="pre">on_celery_import_modules</span></code></a>(*args, **kwargs)</p></td>
+<td><p>Preload some &quot;expensive&quot; airflow modules so that every task process doesn't have to import it again and</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.fetch_celery_task_state" title="airflow.executors.celery_executor.fetch_celery_task_state"><code class="xref py py-obj docutils literal notranslate"><span class="pre">fetch_celery_task_state</span></code></a>(async_result)</p></td>
+<td><p>Fetch and return the state of the given celery task. The scope of this function is</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this headline">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
 <tbody>
-<tr class="row-even"><td><p>username</p></td>
-<td><p>admin</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_USERNAME</span></code></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.log" title="airflow.executors.celery_executor.log"><code class="xref py py-obj docutils literal notranslate"><span class="pre">log</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_FETCH_ERR_MSG_HEADER" title="airflow.executors.celery_executor.CELERY_FETCH_ERR_MSG_HEADER"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CELERY_FETCH_ERR_MSG_HEADER</span></code></a></p></td>
+<td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p>password</p></td>
-<td></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD_CMD</span></code> or <code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD</span></code></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER" title="airflow.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CELERY_SEND_ERR_MSG_HEADER</span></code></a></p></td>
+<td><p></p></td>
 </tr>
-<tr class="row-even"><td><p>firstname</p></td>
-<td><p>Airflow</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_FIRSTNAME</span></code></p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.OPERATION_TIMEOUT" title="airflow.executors.celery_executor.OPERATION_TIMEOUT"><code class="xref py py-obj docutils literal notranslate"><span class="pre">OPERATION_TIMEOUT</span></code></a></p></td>
+<td><p>To start the celery worker, run the command:</p></td>
 </tr>
-<tr class="row-odd"><td><p>lastname</p></td>
-<td><p>Admin</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_LASTNAME</span></code></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.celery_configuration" title="airflow.executors.celery_executor.celery_configuration"><code class="xref py py-obj docutils literal notranslate"><span class="pre">celery_configuration</span></code></a></p></td>
+<td><p></p></td>
 </tr>
-<tr class="row-even"><td><p>email</p></td>
-<td><p><a class="reference external" href="mailto:airflowadmin&#37;&#52;&#48;example&#46;com">airflowadmin<span>&#64;</span>example<span>&#46;</span>com</a></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_EMAIL</span></code></p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.app" title="airflow.executors.celery_executor.app"><code class="xref py py-obj docutils literal notranslate"><span class="pre">app</span></code></a></p></td>
+<td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p>role</p></td>
-<td><p>Admin</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_ROLE</span></code></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.celery_executor.TaskInstanceInCelery" title="airflow.executors.celery_executor.TaskInstanceInCelery"><code class="xref py py-obj docutils literal notranslate"><span class="pre">TaskInstanceInCelery</span></code></a></p></td>
+<td><p></p></td>
 </tr>
 </tbody>
 </table>
-<p>In case the password is specified, the user will be attempted to be created, but the entrypoint will
-not fail if the attempt fails (this accounts for the case that the user is already created).</p>
-<p>You can, for example start the webserver in the production image with initializing the internal SQLite
-database and creating an <code class="docutils literal notranslate"><span class="pre">admin/admin</span></code> Admin user with the following command:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it -p <span class="m">8080</span>:8080 <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_DB_UPGRADE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_CREATE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_PASSWORD=admin&quot;</span> <span class="se">\</span>
-    apache/airflow:2.2.5-python3.8 webserver
-</pre></div>
-</div>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it -p <span class="m">8080</span>:8080 <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_DB_UPGRADE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_CREATE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin&quot;</span> <span class="se">\</span>
-    apache/airflow:2.2.5-python3.8 webserver
-</pre></div>
-</div>
-<p>The commands above perform initialization of the SQLite database, create admin user with admin password
-and Admin role. They also forward local port <code class="docutils literal notranslate"><span class="pre">8080</span></code> to the webserver port and finally start the webserver.</p>
-</div>
-<div class="section" id="installing-additional-requirements">
-<h3>Installing additional requirements<a class="headerlink" href="#installing-additional-requirements" title="Permalink to this headline">¶</a></h3>
-<div class="admonition warning">
-<p class="admonition-title">Warning</p>
-<p>Installing requirements this way is a very convenient method of running Airflow, very useful for
-testing and debugging. However, do not be tricked by its convenience. You should never, ever use it in
-production environment. We have deliberately chose to make it a development/test dependency and we print
-a warning, whenever it is used. There is an inherent security-related issue with using this method in
-production. Installing the requirements this way can happen at literally any time - when your containers
-get restarted, when your machines in K8S cluster get restarted. In a K8S Cluster those events can happen
-literally any time. This opens you up to a serious vulnerability where your production environment
-might be brought down by a single dependency being removed from PyPI - or even dependency of your
-dependency. This means that you put your production service availability in hands of 3rd-party developers.
-At any time, any moment including weekends and holidays those 3rd party developers might bring your
-production Airflow instance down, without you even knowing it. This is a serious vulnerability that
-is similar to the infamous
-<a class="reference external" href="https://qz.com/646467/how-one-programmer-broke-the-internet-by-deleting-a-tiny-piece-of-code/">leftpad</a>
-problem. You can fully protect against this case by building your own, immutable custom image, where the
-dependencies are baked in. You have been warned.</p>
-</div>
-<p>Installing additional requirements can be done by specifying <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> variable.
-The variable should contain a list of requirements that should be installed additionally when entering
-the containers. Note that this option slows down starting of Airflow as every time any container starts
-it must install new packages and it opens up huge potential security vulnerability when used in production
-(see below). Therefore this option should only be used for testing. When testing is finished,
-you should create your custom image with dependencies baked in.</p>
-<p>Example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it -p <span class="m">8080</span>:8080 <span class="se">\</span>
-  --env <span class="s2">&quot;_PIP_ADDITIONAL_REQUIREMENTS=lxml==4.6.3 charset-normalizer==1.4.1&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_DB_UPGRADE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_CREATE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin&quot;</span> <span class="se">\</span>
-    apache/airflow:2.2.5-python3.8 webserver
-</pre></div>
-</div>
-<p>This method is only available starting from Docker image of Airflow 2.1.1 and above.</p>
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.log">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">log</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#log"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_executor.log" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CELERY_FETCH_ERR_MSG_HEADER">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">CELERY_FETCH_ERR_MSG_HEADER</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">Error</span> <span class="pre">fetching</span> <span class="pre">Celery</span> <span class="pre">task</span> <span class="pre">state</span></em><a class="reference internal" href="../../../../_modules/airf [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">CELERY_SEND_ERR_MSG_HEADER</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">Error</span> <span class="pre">sending</span> <span class="pre">Celery</span> <span class="pre">task</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.htm [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.OPERATION_TIMEOUT">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">OPERATION_TIMEOUT</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#OPERATION_TIMEOUT"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_executor.OPERATION_TIMEOUT" title="Permalink to this definition" [...]
+<dd><p>To start the celery worker, run the command:
+airflow celery worker</p>
+</dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.celery_configuration">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">celery_configuration</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#celery_configuration"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_executor.celery_configuration" title="Permalink to this de [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.app">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">app</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#app"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_executor.app" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.execute_command">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">execute_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">command_to_exec</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#execute_command"><span class="viewcode-link"><span class= [...]
+<dd><p>Executes command.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.ExceptionWithTraceback">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">ExceptionWithTraceback</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">exception</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exception_traceback</span></span></em><span cl [...]
+<dd><p>Wrapper class used to propagate exceptions to parent processes from subprocesses.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>exception</strong> (<a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.10)"><em>Exception</em></a>) – The exception to wrap</p></li>
+<li><p><strong>exception_traceback</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) – The stacktrace to wrap</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.TaskInstanceInCelery">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">TaskInstanceInCelery</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#TaskInstanceInCelery"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_executor.TaskInstanceInCelery" title="Permalink to this de [...]
+<dd></dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.send_task_to_executor">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">send_task_to_executor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_tuple</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#send_task_to_executor"><span class="viewcode-link"><span [...]
+<dd><p>Sends task to executor.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.on_celery_import_modules">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">on_celery_import_modules</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span [...]
+<dd><p>Preload some “expensive” airflow modules so that every task process doesn’t have to import it again and
+again.</p>
+<p>Loading these for each task adds 0.3-0.5s <em>per task</em> before the task can run. For long running tasks this
+doesn’t matter, but for short tasks this starts to be a noticeable impact.</p>
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CeleryExecutor">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">CeleryExecutor</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executo [...]
+<dd><p>Bases: <a class="reference internal" href="../base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a></p>
+<p>CeleryExecutor is recommended for production use of Airflow. It allows
+distributing the execution of task instances to multiple worker nodes.</p>
+<p>Celery is a simple, flexible and reliable distributed system to process
+vast amounts of messages, while providing operations with the tools
+required to maintain such a system.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CeleryExecutor.supports_ad_hoc_ti_run">
+<span class="sig-name descname"><span class="pre">supports_ad_hoc_ti_run</span></span><em class="property"><span class="w"> </span><span class="pre">:bool</span> <span class="pre">=</span> <span class="pre">True</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor.supports_ad_hoc_ti_run"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_executor [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CeleryExecutor.start">
+<span class="sig-name descname"><span class="pre">start</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor.start"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_executor.CeleryExecutor.start" title [...]
+<dd><p>Executors may need to get things started.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CeleryExecutor.sync">
+<span class="sig-name descname"><span class="pre">sync</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor.sync"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_executor.CeleryExecutor.sync" title="P [...]
+<dd><p>Sync will get called periodically by the heartbeat method.
+Executors should override this to perform gather statuses.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CeleryExecutor.debug_dump">
+<span class="sig-name descname"><span class="pre">debug_dump</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor.debug_dump"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_executor.CeleryExecutor.de [...]
+<dd><p>Called in response to SIGUSR2 by the scheduler</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CeleryExecutor.update_all_task_states">
+<span class="sig-name descname"><span class="pre">update_all_task_states</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor.update_all_task_states"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_ex [...]
+<dd><p>Updates states of the tasks.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CeleryExecutor.change_state">
+<span class="sig-name descname"><span class="pre">change_state</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">state</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">info</span></span><span class="o"><span class="pre">=</span></span><span class="defau [...]
+<dd><p>Changes state of the task.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>info</strong> – Executor information for the task instance</p></li>
+<li><p><strong>key</strong> (<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstanceKey" title="airflow.models.taskinstance.TaskInstanceKey"><em>airflow.models.taskinstance.TaskInstanceKey</em></a>) – Unique key for the task instance</p></li>
+<li><p><strong>state</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) – State to set for the task.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CeleryExecutor.update_task_state">
+<span class="sig-name descname"><span class="pre">update_task_state</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">state</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">info</span></span></em><span class="sig-paren">)</span><a class="reference inter [...]
+<dd><p>Updates state of a single task.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CeleryExecutor.end">
+<span class="sig-name descname"><span class="pre">end</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">synchronous</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celer [...]
+<dd><p>This method is called when the caller is done submitting job and
+wants to wait synchronously for the job submitted previously to be
+all done.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CeleryExecutor.terminate">
+<span class="sig-name descname"><span class="pre">terminate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor.terminate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_executor.CeleryExecutor.term [...]
+<dd><p>This method is called when the daemon receives a SIGTERM</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.CeleryExecutor.try_adopt_task_instances">
+<span class="sig-name descname"><span class="pre">try_adopt_task_instances</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tis</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor.try_adopt_task_instances"><span class="viewcode-link"><span class="pre [...]
+<dd><p>Try to adopt running task instances that have been abandoned by a SchedulerJob dying.</p>
+<p>Anything that is not adopted will be cleared by the scheduler (and then become eligible for
+re-scheduling)</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>any TaskInstances that were unable to be adopted</p>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.10)">list</a>[airflow.models.TaskInstance]</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.fetch_celery_task_state">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">fetch_celery_task_state</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">async_result</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#fetch_celery_task_state"><span class="viewcode-link" [...]
+<dd><p>Fetch and return the state of the given celery task. The scope of this function is
+global so that it can be called by subprocesses in the pool.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>async_result</strong> (<a class="reference external" href="https://docs.celeryq.dev/en/stable//reference/celery.result.html#celery.result.AsyncResult" title="(in Celery v5.2)"><em>celery.result.AsyncResult</em></a>) – a tuple of the Celery task key and the async Celery object used
+to fetch the task’s state</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>a tuple of the Celery task key and the Celery state and the celery info
+of the task</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.10)">tuple</a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)">str</a>, <a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)">str</a>, <a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" tit [...]
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.BulkStateFetcher">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_executor.</span></span><span class="sig-name descname"><span class="pre">BulkStateFetcher</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sync_parallelism</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></ [...]
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>Gets status for many Celery tasks using the best method available</p>
+<p>If BaseKeyValueStoreBackend is used as result backend, the mget method is used.
+If DatabaseBackend is used as result backend, the SELECT …WHERE task_id IN (…) query is used
+Otherwise, multiprocessing.Pool will be used. Each task status will be downloaded individually.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_executor.BulkStateFetcher.get_many">
+<span class="sig-name descname"><span class="pre">get_many</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">async_results</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#BulkStateFetcher.get_many"><span class="viewcode-link"><span class="pre">[source]</span></s [...]
+<dd><p>Gets status for many Celery tasks using the best method available.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</dd></dl>
+
 </div>
 </div>
 </div>
 
 
     <div class="pager" role="navigation" aria-label="related navigation">
-            <a rel="prev" title="Building the image" href="build.html" >
+            <a rel="prev" title="airflow.executors.base_executor" href="../base_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
             </a>
-            <a rel="next" title="Recipes" href="recipes.html" >
+            <a rel="next" title="airflow.executors.celery_kubernetes_executor" href="../celery_kubernetes_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
             </a>
     </div>
@@ -1022,18 +1165,42 @@ you should create your custom image with dependencies baked in.</p>
     <nav class="wy-nav-side-toc">
         <div class="wy-menu-vertical">
             <ul>
-<li><a class="reference internal" href="#">Entrypoint</a><ul>
-<li><a class="reference internal" href="#allowing-arbitrary-user-to-run-the-container">Allowing arbitrary user to run the container</a></li>
-<li><a class="reference internal" href="#waits-for-airflow-db-connection">Waits for Airflow DB connection</a></li>
-<li><a class="reference internal" href="#waits-for-celery-broker-connection">Waits for celery broker connection</a></li>
-<li><a class="reference internal" href="#executing-commands">Executing commands</a></li>
-<li><a class="reference internal" href="#execute-custom-code-before-the-airflow-entrypoint">Execute custom code before the Airflow entrypoint</a></li>
-<li><a class="reference internal" href="#adding-custom-image-behaviour">Adding custom image behaviour</a></li>
-<li><a class="reference internal" href="#signal-propagation">Signal propagation</a></li>
-<li><a class="reference internal" href="#additional-quick-test-options">Additional quick test options</a><ul>
-<li><a class="reference internal" href="#upgrading-airflow-db">Upgrading Airflow DB</a></li>
-<li><a class="reference internal" href="#creating-admin-user">Creating admin user</a></li>
-<li><a class="reference internal" href="#installing-additional-requirements">Installing additional requirements</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a></li>
+<li><a class="reference internal" href="#functions">Functions</a></li>
+<li><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.log">log</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_FETCH_ERR_MSG_HEADER">CELERY_FETCH_ERR_MSG_HEADER</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER">CELERY_SEND_ERR_MSG_HEADER</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.OPERATION_TIMEOUT">OPERATION_TIMEOUT</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.celery_configuration">celery_configuration</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.app">app</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.execute_command">execute_command</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.ExceptionWithTraceback">ExceptionWithTraceback</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.TaskInstanceInCelery">TaskInstanceInCelery</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.send_task_to_executor">send_task_to_executor</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.on_celery_import_modules">on_celery_import_modules</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor">CeleryExecutor</a><ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.supports_ad_hoc_ti_run">supports_ad_hoc_ti_run</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.start">start</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.sync">sync</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.debug_dump">debug_dump</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_all_task_states">update_all_task_states</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.change_state">change_state</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_task_state">update_task_state</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.end">end</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.terminate">terminate</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.fetch_celery_task_state">fetch_celery_task_state</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher">BulkStateFetcher</a><ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher.get_many">get_many</a></li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -1060,7 +1227,7 @@ you should create your custom image with dependencies baked in.</p>
             
         
         <div class="base-layout--button">
-            <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/entrypoint.rst" rel="nofollow">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/executors/celery_executor/index.rst" rel="nofollow">
 
                 <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
                     <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1194,16 +1361,17 @@ you should create your custom image with dependencies baked in.</p>
         </span>
     </div>
 </footer>
-    <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
-    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+    <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
-        <script src="_static/jquery.js"></script>
-        <script src="_static/underscore.js"></script>
-        <script src="_static/doctools.js"></script>
-        <script src="_static/clipboard.min.js"></script>
-        <script src="_static/copybutton.js"></script>
+        <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+        <script src="../../../../_static/jquery.js"></script>
+        <script src="../../../../_static/underscore.js"></script>
+        <script src="../../../../_static/doctools.js"></script>
+        <script src="../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../_static/copybutton.js"></script>
+        <script src="../../../../_static/gh-jira-links.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/entrypoint.html b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/celery_kubernetes_executor/index.html
similarity index 60%
copy from docs-archive/docker-stack/entrypoint.html
copy to docs-archive/apache-airflow/2.3.0/_api/airflow/executors/celery_kubernetes_executor/index.html
index 4f84ce01b..f88af6266 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/celery_kubernetes_executor/index.html
@@ -9,32 +9,35 @@
 <head>
         <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1">
-        <title>Entrypoint &mdash; docker-stack Documentation</title>
-    <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
-            <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
-            <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
-            <link rel="shortcut icon" href="_static/pin_32.png"/>
-            <link rel="index" title="Index" href="genindex.html" />
-            <link rel="search" title="Search" href="search.html" />
-            <link rel="next" title="Recipes" href="recipes.html" />
-            <link rel="prev" title="Building the image" href="build.html" />
-<!-- Matomo -->
-<script>
-  var _paq = window._paq = window._paq || [];
-  _paq.push(['disableCookies']);
-  _paq.push(['trackPageView']);
-  _paq.push(['enableLinkTracking']);
-  (function() {
-    var u="https://analytics.apache.org/";
-    _paq.push(['setTrackerUrl', u+'matomo.php']);
-    _paq.push(['setSiteId', '13']);
-    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
-  })();
-</script>
-<!-- End Matomo -->
+        <title>airflow.executors.celery_kubernetes_executor &mdash; Airflow Documentation</title>
+    <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../search.html" />
+            <link rel="next" title="airflow.executors.dask_executor" href="../dask_executor/index.html" />
+            <link rel="prev" title="airflow.executors.celery_executor" href="../celery_executor/index.html" />
+    <!-- Matomo -->
+    <script>
+        var _paq = window._paq = window._paq || [];
+        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+        /* We explicitly disable cookie tracking to avoid privacy issues */
+        _paq.push(['disableCookies']);
+        _paq.push(['trackPageView']);
+        _paq.push(['enableLinkTracking']);
+        (function() {
+        var u="https://analytics.apache.org/";
+        _paq.push(['setTrackerUrl', u+'matomo.php']);
+        _paq.push(['setSiteId', '13']);
+        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+        })();
+    </script>
+    <!-- End Matomo Code -->
 
     
 </head><body class="td-section">
@@ -278,8 +281,21 @@
             <div class="content-drawer">
                 <div class="td-sidebar">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -309,30 +325,109 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Entrypoint</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#allowing-arbitrary-user-to-run-the-container">Allowing arbitrary user to run the container</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-airflow-db-connection">Waits for Airflow DB connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-celery-broker-connection">Waits for celery broker connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#executing-commands">Executing commands</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#execute-custom-code-before-the-airflow-entrypoint">Execute custom code before the Airflow entrypoint</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#adding-custom-image-behaviour">Adding custom image behaviour</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#signal-propagation">Signal propagation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#additional-quick-test-options">Additional quick test options</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#upgrading-airflow-db">Upgrading Airflow DB</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#creating-admin-user">Creating admin user</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#installing-additional-requirements">Installing additional requirements</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor">CeleryKubernetesExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.supports_ad_hoc_ti_run">supports_ad_hoc_ti_run</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.KUBERNETES_QUEUE">KUBERNETES_QUEUE</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queued_tasks">queued_tasks</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.running">running</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.job_id">job_id</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.start">start</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.slots_available">slots_available</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_command">queue_command</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_task_instance">queue_task_instance</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.has_task">has_task</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.heartbeat">heartbeat</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.get_event_buffer">get_event_buffer</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.terminate">terminate</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.debug_dump">debug_dump</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -413,8 +508,21 @@
             
     <div class="td-sidebar desktop-only d-print-none">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -444,30 +552,109 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Entrypoint</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#allowing-arbitrary-user-to-run-the-container">Allowing arbitrary user to run the container</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-airflow-db-connection">Waits for Airflow DB connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-celery-broker-connection">Waits for celery broker connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#executing-commands">Executing commands</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#execute-custom-code-before-the-airflow-entrypoint">Execute custom code before the Airflow entrypoint</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#adding-custom-image-behaviour">Adding custom image behaviour</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#signal-propagation">Signal propagation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#additional-quick-test-options">Additional quick test options</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#upgrading-airflow-db">Upgrading Airflow DB</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#creating-admin-user">Creating admin user</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#installing-additional-requirements">Installing additional requirements</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor">CeleryKubernetesExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.supports_ad_hoc_ti_run">supports_ad_hoc_ti_run</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.KUBERNETES_QUEUE">KUBERNETES_QUEUE</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queued_tasks">queued_tasks</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.running">running</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.job_id">job_id</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.start">start</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.slots_available">slots_available</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_command">queue_command</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_task_instance">queue_task_instance</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.has_task">has_task</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.heartbeat">heartbeat</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.get_event_buffer">get_event_buffer</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.terminate">terminate</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.debug_dump">debug_dump</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -556,9 +743,13 @@
 
     <ul class="breadcrumb">
         
-            <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+            <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../../../../python-api-ref.html">Python API Reference</a></li>
             
-            <li class="breadcrumb-item"><a href="entrypoint.html"> Entrypoint</a></li>
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
         
     </ul>
 </div>
@@ -569,390 +760,195 @@
                                 <div class="bodywrapper">
                                     <div class="body" role="main">
                                         
-  <blockquote>
-<div></div></blockquote>
-<div class="section" id="entrypoint">
-<h1>Entrypoint<a class="headerlink" href="#entrypoint" title="Permalink to this headline">¶</a></h1>
-<p>If you are using the default entrypoint of the production image,
-there are a few actions that are automatically performed when the container starts.
-In some cases, you can pass environment variables to the image to trigger some of that behaviour.</p>
-<p>The variables that control the &quot;execution&quot; behaviour start with <code class="docutils literal notranslate"><span class="pre">_AIRFLOW</span></code> to distinguish them
-from the variables used to build the image starting with <code class="docutils literal notranslate"><span class="pre">AIRFLOW</span></code>.</p>
-<div class="section" id="allowing-arbitrary-user-to-run-the-container">
-<span id="arbitrary-docker-user"></span><h2>Allowing arbitrary user to run the container<a class="headerlink" href="#allowing-arbitrary-user-to-run-the-container" title="Permalink to this headline">¶</a></h2>
-<p>Airflow image is Open-Shift compatible, which means that you can start it with random user ID and the
-group id <code class="docutils literal notranslate"><span class="pre">0</span></code> (<code class="docutils literal notranslate"><span class="pre">root</span></code>). If you want to run the image with user different than Airflow, you MUST set
-GID of the user to <code class="docutils literal notranslate"><span class="pre">0</span></code>. In case you try to use different group, the entrypoint exits with error.</p>
-<p>OpenShift randomly assigns UID when it starts the container, but you can utilise this flexible UID
-also in case of running the image manually. This might be useful for example in case you want to
-mount <code class="docutils literal notranslate"><span class="pre">dag</span></code> and <code class="docutils literal notranslate"><span class="pre">logs</span></code> folders from host system on Linux, in which case the UID should be set
-the same ID as your host user.</p>
-<p>This can be achieved in various ways - you can change USER when you extend or customize the image or
-you can dynamically pass the user to  <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">run</span></code> command, by adding <code class="docutils literal notranslate"><span class="pre">--user</span></code> flag in one of
-those formats (See <a class="reference external" href="https://docs.docker.com/engine/reference/run/#user">Docker Run reference</a> for details):</p>
-<p><code class="docutils literal notranslate"><span class="pre">`</span>
-<span class="pre">[</span> <span class="pre">user</span> <span class="pre">|</span> <span class="pre">user:group</span> <span class="pre">|</span> <span class="pre">uid</span> <span class="pre">|</span> <span class="pre">uid:gid</span> <span class="pre">|</span> <span class="pre">user:gid</span> <span class="pre">|</span> <span class="pre">uid:group</span> <span class="pre">]</span>
-<span class="pre">`</span></code></p>
-<p>In case of Docker Compose environment it can be changed via <code class="docutils literal notranslate"><span class="pre">user:</span></code> entry in the <code class="docutils literal notranslate"><span class="pre">docker-compose.yaml</span></code>.
-See <a class="reference external" href="https://docs.docker.com/compose/compose-file/compose-file-v3/#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir">Docker compose reference</a>
-for details. In our Quickstart Guide using Docker-Compose, the UID can be passed via the
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code> variable as described in
-<a class="reference external" href="/docs/apache-airflow/stable/start/docker.html#initializing-docker-compose-environment" title="(in apache-airflow v2.3.0.dev0)"><span class="xref std std-ref">Initializing docker compose environment</span></a>.</p>
-<p>The user can be any UID. In case UID is different than the default
-<code class="docutils literal notranslate"><span class="pre">airflow</span></code> (UID=50000), the user will be automatically created when entering the container.</p>
-<p>In order to accommodate a number of external libraries and projects, Airflow will automatically create
-such an arbitrary user in (<cite>/etc/passwd</cite>) and make it's home directory point to <code class="docutils literal notranslate"><span class="pre">/home/airflow</span></code>.
-Many of 3rd-party libraries and packages require home directory of the user to be present, because they
-need to write some cache information there, so such a dynamic creation of a user is necessary.</p>
-<p>Such arbitrary user has to be able to write to certain directories that needs write access, and since
-it is not advised to allow write access to &quot;other&quot; for security reasons, the OpenShift
-guidelines introduced the concept of making all such folders have the <code class="docutils literal notranslate"><span class="pre">0</span></code> (<code class="docutils literal notranslate"><span class="pre">root</span></code>) group id (GID).
-All the directories that need write access in the Airflow production image have GID set to 0 (and
-they are writable for the group). We are following that concept and all the directories that need
-write access follow that.</p>
-<p>The GID=0 is set as default for the <code class="docutils literal notranslate"><span class="pre">airflow</span></code> user, so any directories it creates have GID set to 0
-by default. The entrypoint sets <code class="docutils literal notranslate"><span class="pre">umask</span></code> to be <code class="docutils literal notranslate"><span class="pre">0002</span></code> - this means that any directories created by
-the user have also &quot;group write&quot; access for group <code class="docutils literal notranslate"><span class="pre">0</span></code> - they will be writable by other users with
-<code class="docutils literal notranslate"><span class="pre">root</span></code> group. Also whenever any &quot;arbitrary&quot; user creates a folder (for example in a mounted volume), that
-folder will have a &quot;group write&quot; access and <code class="docutils literal notranslate"><span class="pre">GID=0</span></code>, so that execution with another, arbitrary user
-will still continue to work, even if such directory is mounted by another arbitrary user later.</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">umask</span></code> setting however only works for runtime of the container - it is not used during building of
-the image. If you would like to extend the image and add your own packages, you should remember to add
-<code class="docutils literal notranslate"><span class="pre">umask</span> <span class="pre">0002</span></code> in front of your docker command - this way the directories created by any installation
-that need group access will also be writable for the group. This can be done for example this way:</p>
-<blockquote>
-<div><div class="highlight-docker notranslate"><div class="highlight"><pre><span></span><span class="k">RUN</span><span class="w"> </span><span class="nb">umask</span> <span class="m">0002</span><span class="p">;</span> <span class="se">\</span>
-    do_something<span class="p">;</span> <span class="se">\</span>
-    do_otherthing<span class="p">;</span>
-</pre></div>
-</div>
-</div></blockquote>
-<p>You can read more about it in the &quot;Support arbitrary user ids&quot; chapter in the
-<a class="reference external" href="https://docs.openshift.com/container-platform/4.7/openshift_images/create-images.html#images-create-guide-openshift_create-images">Openshift best practices</a>.</p>
-</div>
-<div class="section" id="waits-for-airflow-db-connection">
-<h2>Waits for Airflow DB connection<a class="headerlink" href="#waits-for-airflow-db-connection" title="Permalink to this headline">¶</a></h2>
-<p>The entrypoint is waiting for a connection to the database independent of the database engine. This allows us to increase
-the stability of the environment.</p>
-<p>Waiting for connection involves executing <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">db</span> <span class="pre">check</span></code> command, which means that a <code class="docutils literal notranslate"><span class="pre">select</span> <span class="pre">1</span> <span class="pre">as</span> <span class="pre">is_alive;</span></code> statement
-is executed. Then it loops until the the command will be successful.
-It tries <span class="target" id="index-0"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT</span></code> times and sleeps <span class="target" id="index-1"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_SLEEP_TIME</span></code> between checks
-To disable check, set <code class="docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT=0</span></code>.</p>
-</div>
-<div class="section" id="waits-for-celery-broker-connection">
-<h2>Waits for celery broker connection<a class="headerlink" href="#waits-for-celery-broker-connection" title="Permalink to this headline">¶</a></h2>
-<p>In case CeleryExecutor is used, and one of the <code class="docutils literal notranslate"><span class="pre">scheduler</span></code>, <code class="docutils literal notranslate"><span class="pre">celery</span></code>
-commands are used the entrypoint will wait until the celery broker DB connection is available.</p>
-<p>The script detects backend type depending on the URL schema and assigns default port numbers if not specified
-in the URL. Then it loops until connection to the host/port specified can be established
-It tries <span class="target" id="index-2"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT</span></code> times and sleeps <span class="target" id="index-3"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_SLEEP_TIME</span></code> between checks.
-To disable check, set <code class="docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT=0</span></code>.</p>
-<p>Supported schemes:</p>
-<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">amqp(s)://</span></code>  (rabbitmq) - default port 5672</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">redis://</span></code>               - default port 6379</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">postgres://</span></code>            - default port 5432</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">mysql://</span></code>               - default port 3306</p></li>
-</ul>
-<p>Waiting for connection involves checking if a matching port is open. The host information is derived from the Airflow configuration.</p>
-</div>
-<div class="section" id="executing-commands">
-<span id="entrypoint-commands"></span><h2>Executing commands<a class="headerlink" href="#executing-commands" title="Permalink to this headline">¶</a></h2>
-<p>If first argument equals to &quot;bash&quot; - you are dropped to a bash shell or you can executes bash command
-if you specify extra arguments. For example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it apache/airflow:2.2.5-python3.6 bash -c <span class="s2">&quot;ls -la&quot;</span>
-total <span class="m">16</span>
-drwxr-xr-x <span class="m">4</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 .
-drwxr-xr-x <span class="m">1</span> root    root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 ..
-drwxr-xr-x <span class="m">2</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 dags
-drwxr-xr-x <span class="m">2</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 logs
-</pre></div>
-</div>
-<p>If first argument is equal to <code class="docutils literal notranslate"><span class="pre">python</span></code> - you are dropped in python shell or python commands are executed if
-you pass extra parameters. For example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.2.5-python3.6 python -c <span class="s2">&quot;print(&#39;test&#39;)&quot;</span>
-<span class="nb">test</span>
-</pre></div>
-</div>
-<p>If first argument equals to &quot;airflow&quot; - the rest of the arguments is treated as an airflow command
-to execute. Example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it apache/airflow:2.2.5-python3.6 airflow webserver
-</pre></div>
-</div>
-<p>If there are any other arguments - they are simply passed to the &quot;airflow&quot; command</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.2.5-python3.6 <span class="nb">help</span>
-  usage: airflow <span class="o">[</span>-h<span class="o">]</span> GROUP_OR_COMMAND ...
-
-  positional arguments:
-    GROUP_OR_COMMAND
-
-      Groups:
-        celery         Celery components
-        config         View configuration
-        connections    Manage connections
-        dags           Manage DAGs
-        db             Database operations
-        <span class="nb">jobs</span>           Manage <span class="nb">jobs</span>
-        kubernetes     Tools to <span class="nb">help</span> run the KubernetesExecutor
-        pools          Manage pools
-        providers      Display providers
-        roles          Manage roles
-        tasks          Manage tasks
-        users          Manage users
-        variables      Manage variables
-
-      Commands:
-        cheat-sheet    Display cheat sheet
-        info           Show information about current Airflow and environment
-        kerberos       Start a kerberos ticket renewer
-        plugins        Dump information about loaded plugins
-        rotate-fernet-key
-                       Rotate encrypted connection credentials and variables
-        scheduler      Start a scheduler instance
-        sync-perm      Update permissions <span class="k">for</span> existing roles and optionally DAGs
-        version        Show the version
-        webserver      Start a Airflow webserver instance
-
-  optional arguments:
-    -h, --help         show this <span class="nb">help</span> message and <span class="nb">exit</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="execute-custom-code-before-the-airflow-entrypoint">
-<h2>Execute custom code before the Airflow entrypoint<a class="headerlink" href="#execute-custom-code-before-the-airflow-entrypoint" title="Permalink to this headline">¶</a></h2>
-<p>If you want to execute some custom code before Airflow's entrypoint you can by using
-a custom script and calling Airflow's entrypoint as the
-last <code class="docutils literal notranslate"><span class="pre">exec</span></code> instruction in your custom one. However you have to remember to use <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code> in the same
-way as it is used with Airflow's entrypoint, otherwise you might have problems with proper signal
-propagation (See the next chapter).</p>
-<div class="highlight-Dockerfile notranslate"><div class="highlight"><pre><span></span><span class="k">FROM</span><span class="w"> </span><span class="s">airflow:2.3.0.dev0</span>
-<span class="k">COPY</span><span class="w"> </span>my_entrypoint.sh /
-<span class="k">ENTRYPOINT</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;/usr/bin/dumb-init&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;--&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;/my_entrypoint.sh&quot;</span><span class="p">]</span>
-</pre></div>
-</div>
-<p>Your entrypoint might for example modify or add variables on the fly. For example the below
-entrypoint sets max count of DB checks from the first parameter passed as parameter of the image
-execution (A bit useless example but should give the reader an example of how you could use it).</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
-<span class="nb">export</span> <span class="nv">CONNECTION_CHECK_MAX_COUNT</span><span class="o">=</span><span class="si">${</span><span class="nv">1</span><span class="si">}</span>
-<span class="nb">shift</span>
-<span class="nb">exec</span> /entrypoint <span class="s2">&quot;</span><span class="si">${</span><span class="p">@</span><span class="si">}</span><span class="s2">&quot;</span>
-</pre></div>
-</div>
-<p>Make sure Airflow's entrypoint is run with <code class="docutils literal notranslate"><span class="pre">exec</span> <span class="pre">/entrypoint</span> <span class="pre">&quot;${&#64;}&quot;</span></code> as the last command in your
-custom entrypoint. This way signals will be properly propagated and arguments will be passed
-to the entrypoint as usual (you can use <code class="docutils literal notranslate"><span class="pre">shift</span></code> as above if you need to pass some extra
-arguments. Note that passing secret values this way or storing secrets inside the image is a bad
-idea from security point of view - as both image and parameters to run the image with are accessible
-to anyone who has access to logs of your Kubernetes or image registry.</p>
-<p>Also be aware that code executed before Airflow's entrypoint should not create any files or
-directories inside the container and everything might not work the same way when it is executed.
-Before Airflow entrypoint is executed, the following functionalities are not available:</p>
-<ul class="simple">
-<li><p>umask is not set properly to allow <code class="docutils literal notranslate"><span class="pre">group</span></code> write access</p></li>
-<li><p>user is not yet created in <code class="docutils literal notranslate"><span class="pre">/etc/passwd</span></code> if an arbitrary user is used to run the image</p></li>
-<li><p>the database and brokers might not be available yet</p></li>
-</ul>
-</div>
-<div class="section" id="adding-custom-image-behaviour">
-<h2>Adding custom image behaviour<a class="headerlink" href="#adding-custom-image-behaviour" title="Permalink to this headline">¶</a></h2>
-<p>The Airflow image executes a lot of steps in the entrypoint, and sets the right environment, but
-you might want to run additional code after the entrypoint creates the user, sets the umask, sets
-variables and checks that database is running.</p>
-<p>Rather than running regular commands - <code class="docutils literal notranslate"><span class="pre">scheduler</span></code>, <code class="docutils literal notranslate"><span class="pre">webserver</span></code> you can run <em>custom</em> script that
-you can embed into the image. You can even execute the usual components of airflow -
-<code class="docutils literal notranslate"><span class="pre">scheduler</span></code>, <code class="docutils literal notranslate"><span class="pre">webserver</span></code> in your custom script when you finish your custom setup.
-Similarly to custom entrypoint, it can be added to the image by extending it.</p>
-<div class="highlight-Dockerfile notranslate"><div class="highlight"><pre><span></span><span class="k">FROM</span><span class="w"> </span><span class="s">airflow:2.3.0.dev0</span>
-<span class="k">COPY</span><span class="w"> </span>my_after_entrypoint_script.sh /
-</pre></div>
-</div>
-<p>Build your image and then you can run this script by running the command:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker build . --pull --tag my-image:0.0.1
-docker run -it my-image:0.0.1 bash -c <span class="s2">&quot;/my_after_entrypoint_script.sh&quot;</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="signal-propagation">
-<h2>Signal propagation<a class="headerlink" href="#signal-propagation" title="Permalink to this headline">¶</a></h2>
-<p>Airflow uses <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code> to run as &quot;init&quot; in the entrypoint. This is in order to propagate
-signals and reap child processes properly. This means that the process that you run does not have
-to install signal handlers to work properly and be killed when the container is gracefully terminated.
-The behaviour of signal propagation is configured by <code class="docutils literal notranslate"><span class="pre">DUMB_INIT_SETSID</span></code> variable which is set to
-<code class="docutils literal notranslate"><span class="pre">1</span></code> by default - meaning that the signals will be propagated to the whole process group, but you can
-set it to <code class="docutils literal notranslate"><span class="pre">0</span></code> to enable <code class="docutils literal notranslate"><span class="pre">single-child</span></code> behaviour of <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code> which only propagates the
-signals to only single child process.</p>
-<p>The table below summarizes <code class="docutils literal notranslate"><span class="pre">DUMB_INIT_SETSID</span></code> possible values and their use cases.</p>
-<table class="docutils align-default">
-<colgroup>
-<col style="width: 19%" />
-<col style="width: 81%" />
-</colgroup>
-<tbody>
-<tr class="row-odd"><td><p>Variable value</p></td>
-<td><p>Use case</p></td>
-</tr>
-<tr class="row-even"><td><p>1 (default)</p></td>
-<td><p>Propagates signals to all processes in the process group of the main
-process running in the container.</p>
-<p>If you run your processes via <code class="docutils literal notranslate"><span class="pre">[&quot;bash&quot;,</span> <span class="pre">&quot;-c&quot;]</span></code> command and bash
-spawn  new processes without <code class="docutils literal notranslate"><span class="pre">exec</span></code>, this will help to terminate
-your container gracefully as all processes will receive the signal.</p>
-</td>
-</tr>
-<tr class="row-odd"><td><p>0</p></td>
-<td><p>Propagates signals to the main process only.</p>
-<p>This is useful if your main process handles signals gracefully.
-A good example is warm shutdown of Celery workers. The <code class="docutils literal notranslate"><span class="pre">dumb-init</span></code>
-in this case will only propagate the signals to the main process,
-but not to the processes that are spawned in the same process
-group as the main one. For example in case of Celery, the main
-process will put the worker in &quot;offline&quot; mode, and will wait
-until all running tasks complete, and only then it will
-terminate all processes.</p>
-<p>For Airflow's Celery worker, you should set the variable to 0
-and either use <code class="docutils literal notranslate"><span class="pre">[&quot;celery&quot;,</span> <span class="pre">&quot;worker&quot;]</span></code> command.
-If you are running it through <code class="docutils literal notranslate"><span class="pre">[&quot;bash&quot;,</span> <span class="pre">&quot;-c&quot;]</span></code> command,
-you  need to start the worker via <code class="docutils literal notranslate"><span class="pre">exec</span> <span class="pre">airflow</span> <span class="pre">celery</span> <span class="pre">worker</span></code>
-as the last command executed.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="additional-quick-test-options">
-<h2>Additional quick test options<a class="headerlink" href="#additional-quick-test-options" title="Permalink to this headline">¶</a></h2>
-<p>The options below are mostly used for quick testing the image - for example with
-quick-start docker-compose or when you want to perform a local test with new packages
-added. They are not supposed to be run in the production environment as they add additional
-overhead for execution of additional commands. Those options in production should be realized
-either as maintenance operations on the database or should be embedded in the custom image used
-(when you want to add new packages).</p>
-<div class="section" id="upgrading-airflow-db">
-<h3>Upgrading Airflow DB<a class="headerlink" href="#upgrading-airflow-db" title="Permalink to this headline">¶</a></h3>
-<p>If you set <span class="target" id="index-4"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">_AIRFLOW_DB_UPGRADE</span></code> variable to a non-empty value, the entrypoint will run
-the <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">db</span> <span class="pre">upgrade</span></code> command right after verifying the connection. You can also use this
-when you are running airflow with internal SQLite database (default) to upgrade the db and create
-admin users at entrypoint, so that you can start the webserver immediately. Note - using SQLite is
-intended only for testing purpose, never use SQLite in production as it has severe limitations when it
-comes to concurrency.</p>
-</div>
-<div class="section" id="creating-admin-user">
-<h3>Creating admin user<a class="headerlink" href="#creating-admin-user" title="Permalink to this headline">¶</a></h3>
-<p>The entrypoint can also create webserver user automatically when you enter it. you need to set
-<span class="target" id="index-5"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_CREATE</span></code> to a non-empty value in order to do that. This is not intended for
-production, it is only useful if you would like to run a quick test with the production image.
-You need to pass at least password to create such user via <code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD</span></code> or
-<span class="target" id="index-6"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD_CMD</span></code> similarly like for other <code class="docutils literal notranslate"><span class="pre">*_CMD</span></code> variables, the content of
-the <code class="docutils literal notranslate"><span class="pre">*_CMD</span></code> will be evaluated as shell command and it's output will be set as password.</p>
-<p>User creation will fail if none of the <code class="docutils literal notranslate"><span class="pre">PASSWORD</span></code> variables are set - there is no default for
-password for security reasons.</p>
-<table class="docutils align-default">
+  <div class="section" id="module-airflow.executors.celery_kubernetes_executor">
+<span id="airflow-executors-celery-kubernetes-executor"></span><h1><a class="reference internal" href="#module-airflow.executors.celery_kubernetes_executor" title="airflow.executors.celery_kubernetes_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a><a class="headerlink" href="#module-airflow.executors.celery_kubernetes_executor" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
 <colgroup>
 <col style="width: 10%" />
-<col style="width: 24%" />
-<col style="width: 65%" />
+<col style="width: 90%" />
 </colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Parameter</p></th>
-<th class="head"><p>Default</p></th>
-<th class="head"><p>Environment variable</p></th>
-</tr>
-</thead>
 <tbody>
-<tr class="row-even"><td><p>username</p></td>
-<td><p>admin</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_USERNAME</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p>password</p></td>
-<td></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD_CMD</span></code> or <code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_PASSWORD</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p>firstname</p></td>
-<td><p>Airflow</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_FIRSTNAME</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p>lastname</p></td>
-<td><p>Admin</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_LASTNAME</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p>email</p></td>
-<td><p><a class="reference external" href="mailto:airflowadmin&#37;&#52;&#48;example&#46;com">airflowadmin<span>&#64;</span>example<span>&#46;</span>com</a></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_EMAIL</span></code></p></td>
-</tr>
-<tr class="row-odd"><td><p>role</p></td>
-<td><p>Admin</p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">_AIRFLOW_WWW_USER_ROLE</span></code></p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor" title="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CeleryKubernetesExecutor</span></code></a></p></td>
+<td><p>CeleryKubernetesExecutor consists of CeleryExecutor and KubernetesExecutor.</p></td>
 </tr>
 </tbody>
 </table>
-<p>In case the password is specified, the user will be attempted to be created, but the entrypoint will
-not fail if the attempt fails (this accounts for the case that the user is already created).</p>
-<p>You can, for example start the webserver in the production image with initializing the internal SQLite
-database and creating an <code class="docutils literal notranslate"><span class="pre">admin/admin</span></code> Admin user with the following command:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it -p <span class="m">8080</span>:8080 <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_DB_UPGRADE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_CREATE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_PASSWORD=admin&quot;</span> <span class="se">\</span>
-    apache/airflow:2.2.5-python3.8 webserver
-</pre></div>
-</div>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it -p <span class="m">8080</span>:8080 <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_DB_UPGRADE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_CREATE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin&quot;</span> <span class="se">\</span>
-    apache/airflow:2.2.5-python3.8 webserver
-</pre></div>
-</div>
-<p>The commands above perform initialization of the SQLite database, create admin user with admin password
-and Admin role. They also forward local port <code class="docutils literal notranslate"><span class="pre">8080</span></code> to the webserver port and finally start the webserver.</p>
-</div>
-<div class="section" id="installing-additional-requirements">
-<h3>Installing additional requirements<a class="headerlink" href="#installing-additional-requirements" title="Permalink to this headline">¶</a></h3>
-<div class="admonition warning">
-<p class="admonition-title">Warning</p>
-<p>Installing requirements this way is a very convenient method of running Airflow, very useful for
-testing and debugging. However, do not be tricked by its convenience. You should never, ever use it in
-production environment. We have deliberately chose to make it a development/test dependency and we print
-a warning, whenever it is used. There is an inherent security-related issue with using this method in
-production. Installing the requirements this way can happen at literally any time - when your containers
-get restarted, when your machines in K8S cluster get restarted. In a K8S Cluster those events can happen
-literally any time. This opens you up to a serious vulnerability where your production environment
-might be brought down by a single dependency being removed from PyPI - or even dependency of your
-dependency. This means that you put your production service availability in hands of 3rd-party developers.
-At any time, any moment including weekends and holidays those 3rd party developers might bring your
-production Airflow instance down, without you even knowing it. This is a serious vulnerability that
-is similar to the infamous
-<a class="reference external" href="https://qz.com/646467/how-one-programmer-broke-the-internet-by-deleting-a-tiny-piece-of-code/">leftpad</a>
-problem. You can fully protect against this case by building your own, immutable custom image, where the
-dependencies are baked in. You have been warned.</p>
-</div>
-<p>Installing additional requirements can be done by specifying <code class="docutils literal notranslate"><span class="pre">_PIP_ADDITIONAL_REQUIREMENTS</span></code> variable.
-The variable should contain a list of requirements that should be installed additionally when entering
-the containers. Note that this option slows down starting of Airflow as every time any container starts
-it must install new packages and it opens up huge potential security vulnerability when used in production
-(see below). Therefore this option should only be used for testing. When testing is finished,
-you should create your custom image with dependencies baked in.</p>
-<p>Example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it -p <span class="m">8080</span>:8080 <span class="se">\</span>
-  --env <span class="s2">&quot;_PIP_ADDITIONAL_REQUIREMENTS=lxml==4.6.3 charset-normalizer==1.4.1&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_DB_UPGRADE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_CREATE=true&quot;</span> <span class="se">\</span>
-  --env <span class="s2">&quot;_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin&quot;</span> <span class="se">\</span>
-    apache/airflow:2.2.5-python3.8 webserver
-</pre></div>
-</div>
-<p>This method is only available starting from Docker image of Airflow 2.1.1 and above.</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.executors.celery_kubernetes_executor.</span></span><span class="sig-name descname"><span class="pre">CeleryKubernetesExecutor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">celery_executor</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kubernetes_executor</span>< [...]
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>CeleryKubernetesExecutor consists of CeleryExecutor and KubernetesExecutor.
+It chooses an executor to use based on the queue defined on the task.
+When the queue is the value of <code class="docutils literal notranslate"><span class="pre">kubernetes_queue</span></code> in section <code class="docutils literal notranslate"><span class="pre">[celery_kubernetes_executor]</span></code>
+of the configuration (default value: <cite>kubernetes</cite>), KubernetesExecutor is selected to run the task,
+otherwise, CeleryExecutor is used.</p>
+<dl class="field-list simple">
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.supports_ad_hoc_ti_run">
+<span class="sig-name descname"><span class="pre">supports_ad_hoc_ti_run</span></span><em class="property"><span class="w"> </span><span class="pre">:bool</span> <span class="pre">=</span> <span class="pre">True</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.supports_ad_hoc_ti_run"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.exec [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.KUBERNETES_QUEUE">
+<span class="sig-name descname"><span class="pre">KUBERNETES_QUEUE</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.KUBERNETES_QUEUE"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.KUBERNETES_QUEUE" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queued_tasks">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">queued_tasks</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.queued_tasks"><span class="viewcode-link"><span class="pre [...]
+<dd><p>Return queued tasks from celery and kubernetes executor</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.running">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">running</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.running"><span class="viewcode-link"><span class="pre">[source] [...]
+<dd><p>Return running tasks from celery and kubernetes executor</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.job_id">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">job_id</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.job_id"><span class="viewcode-link"><span class="pre">[source]</ [...]
+<dd><p>This is a class attribute in BaseExecutor but since this is not really an executor, but a wrapper
+of executors we implement as property so we can have custom setter.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.start">
+<span class="sig-name descname"><span class="pre">start</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.start"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_exec [...]
+<dd><p>Start celery and kubernetes executor</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.slots_available">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">slots_available</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.slots_available"><span class="viewcode-link"><span clas [...]
+<dd><p>Number of new tasks this executor instance can accept</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_command">
+<span class="sig-name descname"><span class="pre">queue_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_instance</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">command</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">priority</span></span><span class="o"><span class="pre">=</span></span>< [...]
+<dd><p>Queues command via celery or kubernetes executor</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_task_instance">
+<span class="sig-name descname"><span class="pre">queue_task_instance</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_instance</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mark_success</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em [...]
+<dd><p>Queues task instance via celery or kubernetes executor</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.has_task">
+<span class="sig-name descname"><span class="pre">has_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_instance</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.has_task"><span class="viewcode-link"><span class="pre" [...]
+<dd><p>Checks if a task is either queued or running in either celery or kubernetes executor.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>task_instance</strong> (<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstance" title="airflow.models.taskinstance.TaskInstance"><em>airflow.models.taskinstance.TaskInstance</em></a>) – TaskInstance</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True if the task is known to this executor</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)">bool</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.heartbeat">
+<span class="sig-name descname"><span class="pre">heartbeat</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.heartbeat"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_kuberne [...]
+<dd><p>Heartbeat sent to trigger new jobs in celery and kubernetes executor</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.get_event_buffer">
+<span class="sig-name descname"><span class="pre">get_event_buffer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dag_ids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executo [...]
+<dd><p>Returns and flush the event buffer from celery and kubernetes executor</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>dag_ids</strong> (<em>Optional</em><em>[</em><em>List</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a><em>]</em><em>]</em>) – dag_ids to return events for, if None returns all</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>a dict of events</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>Dict[<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstanceKey" title="airflow.models.taskinstance.TaskInstanceKey">airflow.models.taskinstance.TaskInstanceKey</a>, airflow.executors.base_executor.EventBufferValueType]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.try_adopt_task_instances">
+<span class="sig-name descname"><span class="pre">try_adopt_task_instances</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tis</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.try_adopt_task_instances"><span class="viewcode-l [...]
+<dd><p>Try to adopt running task instances that have been abandoned by a SchedulerJob dying.</p>
+<p>Anything that is not adopted will be cleared by the scheduler (and then become eligible for
+re-scheduling)</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>any TaskInstances that were unable to be adopted</p>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.10)">list</a>[airflow.models.TaskInstance]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.end">
+<span class="sig-name descname"><span class="pre">end</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.end"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_executor [...]
+<dd><p>End celery and kubernetes executor</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.terminate">
+<span class="sig-name descname"><span class="pre">terminate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.terminate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_kuberne [...]
+<dd><p>Terminate celery and kubernetes executor</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.debug_dump">
+<span class="sig-name descname"><span class="pre">debug_dump</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.debug_dump"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.celery_kuber [...]
+<dd><p>Called in response to SIGUSR2 by the scheduler</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</dd></dl>
+
 </div>
 </div>
 </div>
 
 
     <div class="pager" role="navigation" aria-label="related navigation">
-            <a rel="prev" title="Building the image" href="build.html" >
+            <a rel="prev" title="airflow.executors.celery_executor" href="../celery_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
             </a>
-            <a rel="next" title="Recipes" href="recipes.html" >
+            <a rel="next" title="airflow.executors.dask_executor" href="../dask_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
             </a>
     </div>
@@ -1022,18 +1018,30 @@ you should create your custom image with dependencies baked in.</p>
     <nav class="wy-nav-side-toc">
         <div class="wy-menu-vertical">
             <ul>
-<li><a class="reference internal" href="#">Entrypoint</a><ul>
-<li><a class="reference internal" href="#allowing-arbitrary-user-to-run-the-container">Allowing arbitrary user to run the container</a></li>
-<li><a class="reference internal" href="#waits-for-airflow-db-connection">Waits for Airflow DB connection</a></li>
-<li><a class="reference internal" href="#waits-for-celery-broker-connection">Waits for celery broker connection</a></li>
-<li><a class="reference internal" href="#executing-commands">Executing commands</a></li>
-<li><a class="reference internal" href="#execute-custom-code-before-the-airflow-entrypoint">Execute custom code before the Airflow entrypoint</a></li>
-<li><a class="reference internal" href="#adding-custom-image-behaviour">Adding custom image behaviour</a></li>
-<li><a class="reference internal" href="#signal-propagation">Signal propagation</a></li>
-<li><a class="reference internal" href="#additional-quick-test-options">Additional quick test options</a><ul>
-<li><a class="reference internal" href="#upgrading-airflow-db">Upgrading Airflow DB</a></li>
-<li><a class="reference internal" href="#creating-admin-user">Creating admin user</a></li>
-<li><a class="reference internal" href="#installing-additional-requirements">Installing additional requirements</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a><ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor">CeleryKubernetesExecutor</a><ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.supports_ad_hoc_ti_run">supports_ad_hoc_ti_run</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.KUBERNETES_QUEUE">KUBERNETES_QUEUE</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queued_tasks">queued_tasks</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.running">running</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.job_id">job_id</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.start">start</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.slots_available">slots_available</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_command">queue_command</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_task_instance">queue_task_instance</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.has_task">has_task</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.heartbeat">heartbeat</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.get_event_buffer">get_event_buffer</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.end">end</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.terminate">terminate</a></li>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.debug_dump">debug_dump</a></li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -1060,7 +1068,7 @@ you should create your custom image with dependencies baked in.</p>
             
         
         <div class="base-layout--button">
-            <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/entrypoint.rst" rel="nofollow">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/executors/celery_kubernetes_executor/index.rst" rel="nofollow">
 
                 <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
                     <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1194,16 +1202,17 @@ you should create your custom image with dependencies baked in.</p>
         </span>
     </div>
 </footer>
-    <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
-    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+    <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
-        <script src="_static/jquery.js"></script>
-        <script src="_static/underscore.js"></script>
-        <script src="_static/doctools.js"></script>
-        <script src="_static/clipboard.min.js"></script>
-        <script src="_static/copybutton.js"></script>
+        <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+        <script src="../../../../_static/jquery.js"></script>
+        <script src="../../../../_static/underscore.js"></script>
+        <script src="../../../../_static/doctools.js"></script>
+        <script src="../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../_static/copybutton.js"></script>
+        <script src="../../../../_static/gh-jira-links.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/build-arg-ref.html b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/dask_executor/index.html
similarity index 70%
copy from docs-archive/docker-stack/build-arg-ref.html
copy to docs-archive/apache-airflow/2.3.0/_api/airflow/executors/dask_executor/index.html
index 8cca82305..87c150a35 100644
--- a/docs-archive/docker-stack/build-arg-ref.html
+++ b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/dask_executor/index.html
@@ -9,31 +9,35 @@
 <head>
         <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1">
-        <title>Image build arguments reference &mdash; docker-stack Documentation</title>
-    <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
-            <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
-            <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
-            <link rel="shortcut icon" href="_static/pin_32.png"/>
-            <link rel="index" title="Index" href="genindex.html" />
-            <link rel="search" title="Search" href="search.html" />
-            <link rel="prev" title="Recipes" href="recipes.html" />
-<!-- Matomo -->
-<script>
-  var _paq = window._paq = window._paq || [];
-  _paq.push(['disableCookies']);
-  _paq.push(['trackPageView']);
-  _paq.push(['enableLinkTracking']);
-  (function() {
-    var u="https://analytics.apache.org/";
-    _paq.push(['setTrackerUrl', u+'matomo.php']);
-    _paq.push(['setSiteId', '13']);
-    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
-  })();
-</script>
-<!-- End Matomo -->
+        <title>airflow.executors.dask_executor &mdash; Airflow Documentation</title>
+    <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../search.html" />
+            <link rel="next" title="airflow.executors.debug_executor" href="../debug_executor/index.html" />
+            <link rel="prev" title="airflow.executors.celery_kubernetes_executor" href="../celery_kubernetes_executor/index.html" />
+    <!-- Matomo -->
+    <script>
+        var _paq = window._paq = window._paq || [];
+        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+        /* We explicitly disable cookie tracking to avoid privacy issues */
+        _paq.push(['disableCookies']);
+        _paq.push(['trackPageView']);
+        _paq.push(['enableLinkTracking']);
+        (function() {
+        var u="https://analytics.apache.org/";
+        _paq.push(['setTrackerUrl', u+'matomo.php']);
+        _paq.push(['setSiteId', '13']);
+        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+        })();
+    </script>
+    <!-- End Matomo Code -->
 
     
 </head><body class="td-section">
@@ -277,8 +281,21 @@
             <div class="content-drawer">
                 <div class="td-sidebar">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -308,22 +325,99 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul>
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">References</span></p>
 <ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Image build arguments reference</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#basic-arguments">Basic arguments</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#image-optimization-options">Image optimization options</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#installing-airflow-using-different-methods">Installing Airflow using different methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#pre-caching-pip-dependencies">Pre-caching PIP dependencies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor">DaskExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.start">start</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.execute_async">execute_async</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.terminate">terminate</a></li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+</ul>
 
 </div>
 
@@ -403,8 +497,21 @@
             
     <div class="td-sidebar desktop-only d-print-none">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -434,22 +541,99 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul>
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">References</span></p>
 <ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Image build arguments reference</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#basic-arguments">Basic arguments</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#image-optimization-options">Image optimization options</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#installing-airflow-using-different-methods">Installing Airflow using different methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#pre-caching-pip-dependencies">Pre-caching PIP dependencies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor">DaskExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.start">start</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.execute_async">execute_async</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.terminate">terminate</a></li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
+</ul>
 
 </div>
 
@@ -537,9 +721,13 @@
 
     <ul class="breadcrumb">
         
-            <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+            <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
             
-            <li class="breadcrumb-item"><a href="build-arg-ref.html"> Image build arguments reference</a></li>
+                <li class="breadcrumb-item"><a href="../../../../python-api-ref.html">Python API Reference</a></li>
+            
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
         
     </ul>
 </div>
@@ -550,381 +738,97 @@
                                 <div class="bodywrapper">
                                     <div class="body" role="main">
                                         
-  <blockquote>
-<div></div></blockquote>
-<div class="section" id="image-build-arguments-reference">
-<h1>Image build arguments reference<a class="headerlink" href="#image-build-arguments-reference" title="Permalink to this headline">¶</a></h1>
-<p>The following build arguments (<code class="docutils literal notranslate"><span class="pre">--build-arg</span></code> in docker build command) can be used for production images.
-Those arguments are used when you want to customize the image. You can see some examples of it in
-<a class="reference internal" href="build.html#image-build-pypi"><span class="std std-ref">Building from PyPI packages</span></a>.</p>
-<div class="section" id="basic-arguments">
-<h2>Basic arguments<a class="headerlink" href="#basic-arguments" title="Permalink to this headline">¶</a></h2>
-<p>Those are the most common arguments that you use when you want to build a custom image.</p>
-<table class="docutils align-default">
-<colgroup>
-<col style="width: 33%" />
-<col style="width: 33%" />
-<col style="width: 35%" />
-</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Build argument</p></th>
-<th class="head"><p>Default value</p></th>
-<th class="head"><p>Description</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PYTHON_BASE_IMAGE</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">python:3.7-slim-buster</span></code></p></td>
-<td><p>Base python image.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_VERSION</span></code></p></td>
-<td><p><code class="code docutils literal notranslate"><span class="pre">2.2.5</span></code></p></td>
-<td><p>version of Airflow.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_EXTRAS</span></code></p></td>
-<td><p>(see below the table)</p></td>
-<td><p>Default extras with which airflow is
-installed.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_AIRFLOW_EXTRAS</span></code></p></td>
-<td></td>
-<td><p>Optional additional extras with which
-airflow is installed.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_HOME</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">/opt/airflow</span></code></p></td>
-<td><p>Airflow’s HOME (that’s where logs and
-SQLite databases are stored).</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_USER_HOME_DIR</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">/home/airflow</span></code></p></td>
-<td><p>Home directory of the Airflow user.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_PIP_VERSION</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">21.3.1</span></code></p></td>
-<td><p>PIP version used.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PIP_PROGRESS_BAR</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">on</span></code></p></td>
-<td><p>Progress bar for PIP installation</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">50000</span></code></p></td>
-<td><p>Airflow user UID.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_CONSTRAINTS_REFERENCE</span></code></p></td>
-<td></td>
-<td><p>Reference (branch or tag) from GitHub
-where constraints file is taken from
-It can be <code class="docutils literal notranslate"><span class="pre">constraints-main</span></code> or
-<code class="docutils literal notranslate"><span class="pre">constraints-2-0</span></code> for
-2.0.* installation. In case of building
-specific version you want to point it
-to specific tag, for example
-<code class="code docutils literal notranslate"><span class="pre">constraints-2.2.5</span></code>.
-Auto-detected if empty.</p></td>
-</tr>
-</tbody>
-</table>
-<div class="admonition note">
-<p class="admonition-title">Note</p>
-<p>Before Airflow 2.2, the image also had <code class="docutils literal notranslate"><span class="pre">AIRFLOW_GID</span></code> parameter, but it did not provide any additional
-functionality - only added confusion - so it has been removed.</p>
-</div>
-<p>List of default extras in the production Dockerfile:</p>
-<ul class="simple">
-<li><p>amazon</p></li>
-<li><p>async</p></li>
-<li><p>celery</p></li>
-<li><p>cncf.kubernetes</p></li>
-<li><p>dask</p></li>
-<li><p>docker</p></li>
-<li><p>elasticsearch</p></li>
-<li><p>ftp</p></li>
-<li><p>google</p></li>
-<li><p>google_auth</p></li>
-<li><p>grpc</p></li>
-<li><p>hashicorp</p></li>
-<li><p>http</p></li>
-<li><p>ldap</p></li>
-<li><p>microsoft.azure</p></li>
-<li><p>mysql</p></li>
-<li><p>odbc</p></li>
-<li><p>pandas</p></li>
-<li><p>postgres</p></li>
-<li><p>redis</p></li>
-<li><p>sendgrid</p></li>
-<li><p>sftp</p></li>
-<li><p>slack</p></li>
-<li><p>ssh</p></li>
-<li><p>statsd</p></li>
-<li><p>virtualenv</p></li>
-</ul>
+  <div class="section" id="module-airflow.executors.dask_executor">
+<span id="airflow-executors-dask-executor"></span><h1><a class="reference internal" href="#module-airflow.executors.dask_executor" title="airflow.executors.dask_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a><a class="headerlink" href="#module-airflow.executors.dask_executor" title="Permalink to this headline">¶</a></h1>
+<p>DaskExecutor</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>For more information on how the DaskExecutor works, take a look at the guide:
+<a class="reference internal" href="../../../../executor/dask.html#executor-daskexecutor"><span class="std std-ref">Dask Executor</span></a></p>
 </div>
-<div class="section" id="image-optimization-options">
-<h2>Image optimization options<a class="headerlink" href="#image-optimization-options" title="Permalink to this headline">¶</a></h2>
-<p>The main advantage of Customization method of building Airflow image, is that it allows to build highly optimized image because
-the final image (RUNTIME) might not contain all the dependencies that are needed to build and install all other dependencies
-(DEV). Those arguments allow to control what is installed in the DEV image and what is installed in RUNTIME one, thus
-allowing to produce much more optimized images. See <a class="reference internal" href="build.html#image-build-optimized"><span class="std std-ref">Building optimized images</span></a>.
-for examples of using those arguments.</p>
-<table class="docutils align-default">
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
 <colgroup>
-<col style="width: 33%" />
-<col style="width: 33%" />
-<col style="width: 33%" />
+<col style="width: 10%" />
+<col style="width: 90%" />
 </colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Build argument</p></th>
-<th class="head"><p>Default value</p></th>
-<th class="head"><p>Description</p></th>
-</tr>
-</thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">UPGRADE_TO_NEWER_DEPENDENCIES</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
-<td><p>If set to true, the dependencies are
-upgraded to newer versions matching
-setup.py before installation.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PYTHON_DEPS</span></code></p></td>
-<td></td>
-<td><p>Optional python packages to extend
-the image with some extra dependencies.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DEV_APT_COMMAND</span></code></p></td>
-<td><p>(see Dockerfile)</p></td>
-<td><p>Dev apt command executed before dev deps
-are installed in the Build image.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_DEV_APT_COMMAND</span></code></p></td>
-<td></td>
-<td><p>Additional Dev apt command executed
-before dev dep are installed
-in the Build image. Should start with
-<code class="docutils literal notranslate"><span class="pre">&amp;&amp;</span></code>.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DEV_APT_DEPS</span></code></p></td>
-<td><p>(see Dockerfile)</p></td>
-<td><p>Dev APT dependencies installed
-in the Build image.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_DEV_APT_DEPS</span></code></p></td>
-<td></td>
-<td><p>Additional apt dev dependencies
-installed in the Build image.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_DEV_APT_ENV</span></code></p></td>
-<td></td>
-<td><p>Additional env variables defined
-when installing dev deps.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">RUNTIME_APT_COMMAND</span></code></p></td>
-<td><p>(see Dockerfile)</p></td>
-<td><p>Runtime apt command executed before deps
-are installed in the Main image.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_RUNTIME_APT_COMMAND</span></code></p></td>
-<td></td>
-<td><p>Additional Runtime apt command executed
-before runtime dep are installed
-in the Main image. Should start with
-<code class="docutils literal notranslate"><span class="pre">&amp;&amp;</span></code>.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">RUNTIME_APT_DEPS</span></code></p></td>
-<td><p>(see Dockerfile)</p></td>
-<td><p>Runtime APT dependencies installed
-in the Main image.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_RUNTIME_APT_DEPS</span></code></p></td>
-<td></td>
-<td><p>Additional apt runtime dependencies
-installed in the Main image.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_RUNTIME_APT_ENV</span></code></p></td>
-<td></td>
-<td><p>Additional env variables defined
-when installing runtime deps.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INSTALL_MYSQL_CLIENT</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">true</span></code></p></td>
-<td><p>Whether MySQL client should be installed
-The mysql extra is removed from extras
-if the client is not installed.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">INSTALL_MSSQL_CLIENT</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">true</span></code></p></td>
-<td><p>Whether MsSQL client should be installed</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor" title="airflow.executors.dask_executor.DaskExecutor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">DaskExecutor</span></code></a></p></td>
+<td><p>DaskExecutor submits tasks to a Dask Distributed cluster.</p></td>
 </tr>
 </tbody>
 </table>
-</div>
-<div class="section" id="installing-airflow-using-different-methods">
-<h2>Installing Airflow using different methods<a class="headerlink" href="#installing-airflow-using-different-methods" title="Permalink to this headline">¶</a></h2>
-<p>Those parameters are useful only if you want to install Airflow using different installation methods than the default
-(installing from PyPI packages).</p>
-<p>This is usually only useful if you have your own fork of Airflow and want to build the images locally from
-those sources - either locally or directly from GitHub sources. This way you do not need to release your
-Airflow and Providers via PyPI - they can be installed directly from sources or from GitHub repository.
-Another option of installation is to build Airflow from previously prepared binary Python packages which might
-be useful if you need to build Airflow in environments that require high levels of security.</p>
-<dl class="simple">
-<dt>You can see some examples of those in:</dt><dd><ul class="simple">
-<li><p><a class="reference internal" href="build.html#image-build-github"><span class="std std-ref">Building from GitHub</span></a>,</p></li>
-<li><p><a class="reference internal" href="build.html#image-build-custom"><span class="std std-ref">Using custom installation sources</span></a>,</p></li>
-<li><p><a class="reference internal" href="build.html#image-build-secure-environments"><span class="std std-ref">Build images in security restricted environments</span></a></p></li>
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.executors.dask_executor.DaskExecutor">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.executors.dask_executor.</span></span><span class="sig-name descname"><span class="pre">DaskExecutor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cluster_address</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></ [...]
+<dd><p>Bases: <a class="reference internal" href="../base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a></p>
+<p>DaskExecutor submits tasks to a Dask Distributed cluster.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.dask_executor.DaskExecutor.start">
+<span class="sig-name descname"><span class="pre">start</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/dask_executor.html#DaskExecutor.start"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.dask_executor.DaskExecutor.start" title="Permal [...]
+<dd><p>Executors may need to get things started.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.dask_executor.DaskExecutor.execute_async">
+<span class="sig-name descname"><span class="pre">execute_async</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">command</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">queue</span></span><span class="o"><span class="pre">=</span></span><span class="d [...]
+<dd><p>This method will execute the command asynchronously.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>key</strong> (<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstanceKey" title="airflow.models.taskinstance.TaskInstanceKey"><em>airflow.models.taskinstance.TaskInstanceKey</em></a>) – Unique key for the task instance</p></li>
+<li><p><strong>command</strong> (<em>airflow.executors.base_executor.CommandType</em>) – Command to run</p></li>
+<li><p><strong>queue</strong> (<em>Optional</em><em>[</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a><em>]</em>) – name of the queue</p></li>
+<li><p><strong>executor_config</strong> (<em>Optional</em><em>[</em><em>Any</em><em>]</em>) – Configuration passed to the executor.</p></li>
 </ul>
 </dd>
 </dl>
-<table class="docutils align-default">
-<colgroup>
-<col style="width: 33%" />
-<col style="width: 33%" />
-<col style="width: 33%" />
-</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Build argument</p></th>
-<th class="head"><p>Default value</p></th>
-<th class="head"><p>Description</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_INSTALLATION_METHOD</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">apache-airflow</span></code></p></td>
-<td><p>Installation method of Apache Airflow.
-<code class="docutils literal notranslate"><span class="pre">apache-airflow</span></code> for installation from
-PyPI. It can be GitHub repository URL
-including branch or tag to install from
-that repository or &quot;.&quot; to install from
-local sources. Installing from sources
-requires appropriate values of the
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_FROM</span></code> and
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_TO</span></code> variables (see
-below)</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_FROM</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">empty</span></code></p></td>
-<td><p>Sources of Airflow. Set it to &quot;.&quot; when
-you install Airflow from local sources</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_TO</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">/empty</span></code></p></td>
-<td><p>Target for Airflow sources. Set to
-&quot;/opt/airflow&quot; when you install Airflow
-from local sources.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_WWW_FROM</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">empty</span></code></p></td>
-<td><p>Sources of Airflow WWW files used for
-asset compilation. Set it to
-&quot;./airflow/www&quot; when
-you install Airflow from local sources</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_WWW_TO</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">/empty</span></code></p></td>
-<td><p>Target for Airflow files used for
-asset compilation. Set it to
-&quot;/opt/airflow/airflow/www&quot; when
-you install Airflow from local sources.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_VERSION_SPECIFICATION</span></code></p></td>
-<td></td>
-<td><p>Optional - might be used for using limit
-for Airflow version installation - for
-example <code class="docutils literal notranslate"><span class="pre">&lt;2.0.2</span></code> for automated builds.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INSTALL_PROVIDERS_FROM_SOURCES</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
-<td><p>If set to <code class="docutils literal notranslate"><span class="pre">true</span></code> and image is built
-from sources, all provider packages are
-installed from sources rather than from
-packages. It has no effect when
-installing from PyPI or GitHub repo.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_CONSTRAINTS_LOCATION</span></code></p></td>
-<td></td>
-<td><p>If not empty, it will override the
-source of the constraints with the
-specified URL or file. Note that the
-file has to be in docker context so
-it's best to place such file in
-one of the folders included in
-<code class="docutils literal notranslate"><span class="pre">.dockerignore</span></code> file.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
-<td><p>If set to true, Airflow, providers and
-all dependencies are installed from
-from locally built/downloaded
-.whl and .tar.gz files placed in the
-<code class="docutils literal notranslate"><span class="pre">docker-context-files</span></code>. In certain
-corporate environments, this is required
-to install airflow from such pre-vetted
-packages rather than from PyPI. For this
-to work, also set <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code>.
-Note that packages starting with
-<code class="docutils literal notranslate"><span class="pre">apache?airflow</span></code> glob are treated
-differently than other packages. All
-<code class="docutils literal notranslate"><span class="pre">apache?airflow</span></code> packages are
-installed with dependencies limited by
-airflow constraints. All other packages
-are installed without dependencies
-'as-is'. If you wish to install airflow
-via 'pip download' with all dependencies
-downloaded, you have to rename the
-apache airflow and provider packages to
-not start with <code class="docutils literal notranslate"><span class="pre">apache?airflow</span></code> glob.</p></td>
-</tr>
-</tbody>
-</table>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.dask_executor.DaskExecutor.sync">
+<span class="sig-name descname"><span class="pre">sync</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/dask_executor.html#DaskExecutor.sync"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.dask_executor.DaskExecutor.sync" title="Permalink [...]
+<dd><p>Sync will get called periodically by the heartbeat method.
+Executors should override this to perform gather statuses.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.dask_executor.DaskExecutor.end">
+<span class="sig-name descname"><span class="pre">end</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/dask_executor.html#DaskExecutor.end"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.dask_executor.DaskExecutor.end" title="Permalink to [...]
+<dd><p>This method is called when the caller is done submitting job and
+wants to wait synchronously for the job submitted previously to be
+all done.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.dask_executor.DaskExecutor.terminate">
+<span class="sig-name descname"><span class="pre">terminate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/dask_executor.html#DaskExecutor.terminate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.dask_executor.DaskExecutor.terminate" t [...]
+<dd><p>This method is called when the daemon receives a SIGTERM</p>
+</dd></dl>
+
+</dd></dl>
+
 </div>
-<div class="section" id="pre-caching-pip-dependencies">
-<h2>Pre-caching PIP dependencies<a class="headerlink" href="#pre-caching-pip-dependencies" title="Permalink to this headline">¶</a></h2>
-<p>When image is build from PIP, by default pre-caching of PIP dependencies is used. This is in order to speed-up incremental
-builds during development. When pre-cached PIP dependencies are used and <code class="docutils literal notranslate"><span class="pre">setup.py</span></code> or <code class="docutils literal notranslate"><span class="pre">setup.cfg</span></code> changes, the
-PIP dependencies are already pre-installed, thus resulting in much faster image rebuild. This is purely an optimization
-of time needed to build the images and should be disabled if you want to install Airflow from
-docker context files.</p>
-<table class="docutils align-default">
-<colgroup>
-<col style="width: 33%" />
-<col style="width: 33%" />
-<col style="width: 33%" />
-</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Build argument</p></th>
-<th class="head"><p>Default value</p></th>
-<th class="head"><p>Description</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_BRANCH</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">main</span></code></p></td>
-<td><p>the branch from which PIP dependencies
-are pre-installed initially.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_REPO</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">apache/airflow</span></code></p></td>
-<td><p>the repository from which PIP
-dependencies are pre-installed.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_PRE_CACHED_PIP_PACKAGES</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
-<td><p>Allows to pre-cache airflow PIP packages
-from the GitHub of Apache Airflow
-This allows to optimize iterations for
-Image builds and speeds up CI builds.</p></td>
-</tr>
-</tbody>
-</table>
 </div>
 </div>
 
 
     <div class="pager" role="navigation" aria-label="related navigation">
-            <a rel="prev" title="Recipes" href="recipes.html" >
+            <a rel="prev" title="airflow.executors.celery_kubernetes_executor" href="../celery_kubernetes_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
-            </a><button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" disabled>Next</button>
+            </a>
+            <a rel="next" title="airflow.executors.debug_executor" href="../debug_executor/index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
+            </a>
     </div>
                                     </div>
 
@@ -992,11 +896,21 @@ Image builds and speeds up CI builds.</p></td>
     <nav class="wy-nav-side-toc">
         <div class="wy-menu-vertical">
             <ul>
-<li><a class="reference internal" href="#">Image build arguments reference</a><ul>
-<li><a class="reference internal" href="#basic-arguments">Basic arguments</a></li>
-<li><a class="reference internal" href="#image-optimization-options">Image optimization options</a></li>
-<li><a class="reference internal" href="#installing-airflow-using-different-methods">Installing Airflow using different methods</a></li>
-<li><a class="reference internal" href="#pre-caching-pip-dependencies">Pre-caching PIP dependencies</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a><ul>
+<li><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor">DaskExecutor</a><ul>
+<li><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.start">start</a></li>
+<li><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.execute_async">execute_async</a></li>
+<li><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.sync">sync</a></li>
+<li><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.end">end</a></li>
+<li><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.terminate">terminate</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -1021,7 +935,7 @@ Image builds and speeds up CI builds.</p></td>
             
         
         <div class="base-layout--button">
-            <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/build-arg-ref.rst" rel="nofollow">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/executors/dask_executor/index.rst" rel="nofollow">
 
                 <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
                     <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1155,16 +1069,17 @@ Image builds and speeds up CI builds.</p></td>
         </span>
     </div>
 </footer>
-    <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
-    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+    <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
-        <script src="_static/jquery.js"></script>
-        <script src="_static/underscore.js"></script>
-        <script src="_static/doctools.js"></script>
-        <script src="_static/clipboard.min.js"></script>
-        <script src="_static/copybutton.js"></script>
+        <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+        <script src="../../../../_static/jquery.js"></script>
+        <script src="../../../../_static/underscore.js"></script>
+        <script src="../../../../_static/doctools.js"></script>
+        <script src="../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../_static/copybutton.js"></script>
+        <script src="../../../../_static/gh-jira-links.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/build-arg-ref.html b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/debug_executor/index.html
similarity index 67%
copy from docs-archive/docker-stack/build-arg-ref.html
copy to docs-archive/apache-airflow/2.3.0/_api/airflow/executors/debug_executor/index.html
index 8cca82305..a4ea05831 100644
--- a/docs-archive/docker-stack/build-arg-ref.html
+++ b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/debug_executor/index.html
@@ -9,31 +9,35 @@
 <head>
         <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1">
-        <title>Image build arguments reference &mdash; docker-stack Documentation</title>
-    <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
-            <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
-            <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
-            <link rel="shortcut icon" href="_static/pin_32.png"/>
-            <link rel="index" title="Index" href="genindex.html" />
-            <link rel="search" title="Search" href="search.html" />
-            <link rel="prev" title="Recipes" href="recipes.html" />
-<!-- Matomo -->
-<script>
-  var _paq = window._paq = window._paq || [];
-  _paq.push(['disableCookies']);
-  _paq.push(['trackPageView']);
-  _paq.push(['enableLinkTracking']);
-  (function() {
-    var u="https://analytics.apache.org/";
-    _paq.push(['setTrackerUrl', u+'matomo.php']);
-    _paq.push(['setSiteId', '13']);
-    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
-  })();
-</script>
-<!-- End Matomo -->
+        <title>airflow.executors.debug_executor &mdash; Airflow Documentation</title>
+    <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../search.html" />
+            <link rel="next" title="airflow.executors.executor_constants" href="../executor_constants/index.html" />
+            <link rel="prev" title="airflow.executors.dask_executor" href="../dask_executor/index.html" />
+    <!-- Matomo -->
+    <script>
+        var _paq = window._paq = window._paq || [];
+        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+        /* We explicitly disable cookie tracking to avoid privacy issues */
+        _paq.push(['disableCookies']);
+        _paq.push(['trackPageView']);
+        _paq.push(['enableLinkTracking']);
+        (function() {
+        var u="https://analytics.apache.org/";
+        _paq.push(['setTrackerUrl', u+'matomo.php']);
+        _paq.push(['setSiteId', '13']);
+        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+        })();
+    </script>
+    <!-- End Matomo Code -->
 
     
 </head><body class="td-section">
@@ -277,8 +281,21 @@
             <div class="content-drawer">
                 <div class="td-sidebar">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -308,21 +325,100 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul>
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">References</span></p>
 <ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Image build arguments reference</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#basic-arguments">Basic arguments</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#image-optimization-options">Image optimization options</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#installing-airflow-using-different-methods">Installing Airflow using different methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#pre-caching-pip-dependencies">Pre-caching PIP dependencies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor">DebugExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.execute_async">execute_async</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.queue_task_instance">queue_task_instance</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.trigger_tasks">trigger_tasks</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.terminate">terminate</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.change_state">change_state</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -403,8 +499,21 @@
             
     <div class="td-sidebar desktop-only d-print-none">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -434,21 +543,100 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul>
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">References</span></p>
 <ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Image build arguments reference</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#basic-arguments">Basic arguments</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#image-optimization-options">Image optimization options</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#installing-airflow-using-different-methods">Installing Airflow using different methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#pre-caching-pip-dependencies">Pre-caching PIP dependencies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor">DebugExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.execute_async">execute_async</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.queue_task_instance">queue_task_instance</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.trigger_tasks">trigger_tasks</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.terminate">terminate</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.change_state">change_state</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -537,9 +725,13 @@
 
     <ul class="breadcrumb">
         
-            <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+            <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../../../../python-api-ref.html">Python API Reference</a></li>
+            
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
             
-            <li class="breadcrumb-item"><a href="build-arg-ref.html"> Image build arguments reference</a></li>
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
         
     </ul>
 </div>
@@ -550,381 +742,119 @@
                                 <div class="bodywrapper">
                                     <div class="body" role="main">
                                         
-  <blockquote>
-<div></div></blockquote>
-<div class="section" id="image-build-arguments-reference">
-<h1>Image build arguments reference<a class="headerlink" href="#image-build-arguments-reference" title="Permalink to this headline">¶</a></h1>
-<p>The following build arguments (<code class="docutils literal notranslate"><span class="pre">--build-arg</span></code> in docker build command) can be used for production images.
-Those arguments are used when you want to customize the image. You can see some examples of it in
-<a class="reference internal" href="build.html#image-build-pypi"><span class="std std-ref">Building from PyPI packages</span></a>.</p>
-<div class="section" id="basic-arguments">
-<h2>Basic arguments<a class="headerlink" href="#basic-arguments" title="Permalink to this headline">¶</a></h2>
-<p>Those are the most common arguments that you use when you want to build a custom image.</p>
-<table class="docutils align-default">
-<colgroup>
-<col style="width: 33%" />
-<col style="width: 33%" />
-<col style="width: 35%" />
-</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Build argument</p></th>
-<th class="head"><p>Default value</p></th>
-<th class="head"><p>Description</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PYTHON_BASE_IMAGE</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">python:3.7-slim-buster</span></code></p></td>
-<td><p>Base python image.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_VERSION</span></code></p></td>
-<td><p><code class="code docutils literal notranslate"><span class="pre">2.2.5</span></code></p></td>
-<td><p>version of Airflow.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_EXTRAS</span></code></p></td>
-<td><p>(see below the table)</p></td>
-<td><p>Default extras with which airflow is
-installed.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_AIRFLOW_EXTRAS</span></code></p></td>
-<td></td>
-<td><p>Optional additional extras with which
-airflow is installed.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_HOME</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">/opt/airflow</span></code></p></td>
-<td><p>Airflow’s HOME (that’s where logs and
-SQLite databases are stored).</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_USER_HOME_DIR</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">/home/airflow</span></code></p></td>
-<td><p>Home directory of the Airflow user.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_PIP_VERSION</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">21.3.1</span></code></p></td>
-<td><p>PIP version used.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PIP_PROGRESS_BAR</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">on</span></code></p></td>
-<td><p>Progress bar for PIP installation</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">50000</span></code></p></td>
-<td><p>Airflow user UID.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_CONSTRAINTS_REFERENCE</span></code></p></td>
-<td></td>
-<td><p>Reference (branch or tag) from GitHub
-where constraints file is taken from
-It can be <code class="docutils literal notranslate"><span class="pre">constraints-main</span></code> or
-<code class="docutils literal notranslate"><span class="pre">constraints-2-0</span></code> for
-2.0.* installation. In case of building
-specific version you want to point it
-to specific tag, for example
-<code class="code docutils literal notranslate"><span class="pre">constraints-2.2.5</span></code>.
-Auto-detected if empty.</p></td>
-</tr>
-</tbody>
-</table>
-<div class="admonition note">
-<p class="admonition-title">Note</p>
-<p>Before Airflow 2.2, the image also had <code class="docutils literal notranslate"><span class="pre">AIRFLOW_GID</span></code> parameter, but it did not provide any additional
-functionality - only added confusion - so it has been removed.</p>
-</div>
-<p>List of default extras in the production Dockerfile:</p>
-<ul class="simple">
-<li><p>amazon</p></li>
-<li><p>async</p></li>
-<li><p>celery</p></li>
-<li><p>cncf.kubernetes</p></li>
-<li><p>dask</p></li>
-<li><p>docker</p></li>
-<li><p>elasticsearch</p></li>
-<li><p>ftp</p></li>
-<li><p>google</p></li>
-<li><p>google_auth</p></li>
-<li><p>grpc</p></li>
-<li><p>hashicorp</p></li>
-<li><p>http</p></li>
-<li><p>ldap</p></li>
-<li><p>microsoft.azure</p></li>
-<li><p>mysql</p></li>
-<li><p>odbc</p></li>
-<li><p>pandas</p></li>
-<li><p>postgres</p></li>
-<li><p>redis</p></li>
-<li><p>sendgrid</p></li>
-<li><p>sftp</p></li>
-<li><p>slack</p></li>
-<li><p>ssh</p></li>
-<li><p>statsd</p></li>
-<li><p>virtualenv</p></li>
-</ul>
+  <div class="section" id="module-airflow.executors.debug_executor">
+<span id="airflow-executors-debug-executor"></span><h1><a class="reference internal" href="#module-airflow.executors.debug_executor" title="airflow.executors.debug_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a><a class="headerlink" href="#module-airflow.executors.debug_executor" title="Permalink to this headline">¶</a></h1>
+<p>DebugExecutor</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>For more information on how the DebugExecutor works, take a look at the guide:
+<a class="reference internal" href="../../../../executor/debug.html#executor-debugexecutor"><span class="std std-ref">Debug Executor</span></a></p>
 </div>
-<div class="section" id="image-optimization-options">
-<h2>Image optimization options<a class="headerlink" href="#image-optimization-options" title="Permalink to this headline">¶</a></h2>
-<p>The main advantage of Customization method of building Airflow image, is that it allows to build highly optimized image because
-the final image (RUNTIME) might not contain all the dependencies that are needed to build and install all other dependencies
-(DEV). Those arguments allow to control what is installed in the DEV image and what is installed in RUNTIME one, thus
-allowing to produce much more optimized images. See <a class="reference internal" href="build.html#image-build-optimized"><span class="std std-ref">Building optimized images</span></a>.
-for examples of using those arguments.</p>
-<table class="docutils align-default">
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
 <colgroup>
-<col style="width: 33%" />
-<col style="width: 33%" />
-<col style="width: 33%" />
+<col style="width: 10%" />
+<col style="width: 90%" />
 </colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Build argument</p></th>
-<th class="head"><p>Default value</p></th>
-<th class="head"><p>Description</p></th>
-</tr>
-</thead>
 <tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">UPGRADE_TO_NEWER_DEPENDENCIES</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
-<td><p>If set to true, the dependencies are
-upgraded to newer versions matching
-setup.py before installation.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_PYTHON_DEPS</span></code></p></td>
-<td></td>
-<td><p>Optional python packages to extend
-the image with some extra dependencies.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DEV_APT_COMMAND</span></code></p></td>
-<td><p>(see Dockerfile)</p></td>
-<td><p>Dev apt command executed before dev deps
-are installed in the Build image.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_DEV_APT_COMMAND</span></code></p></td>
-<td></td>
-<td><p>Additional Dev apt command executed
-before dev dep are installed
-in the Build image. Should start with
-<code class="docutils literal notranslate"><span class="pre">&amp;&amp;</span></code>.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DEV_APT_DEPS</span></code></p></td>
-<td><p>(see Dockerfile)</p></td>
-<td><p>Dev APT dependencies installed
-in the Build image.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_DEV_APT_DEPS</span></code></p></td>
-<td></td>
-<td><p>Additional apt dev dependencies
-installed in the Build image.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_DEV_APT_ENV</span></code></p></td>
-<td></td>
-<td><p>Additional env variables defined
-when installing dev deps.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">RUNTIME_APT_COMMAND</span></code></p></td>
-<td><p>(see Dockerfile)</p></td>
-<td><p>Runtime apt command executed before deps
-are installed in the Main image.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_RUNTIME_APT_COMMAND</span></code></p></td>
-<td></td>
-<td><p>Additional Runtime apt command executed
-before runtime dep are installed
-in the Main image. Should start with
-<code class="docutils literal notranslate"><span class="pre">&amp;&amp;</span></code>.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">RUNTIME_APT_DEPS</span></code></p></td>
-<td><p>(see Dockerfile)</p></td>
-<td><p>Runtime APT dependencies installed
-in the Main image.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_RUNTIME_APT_DEPS</span></code></p></td>
-<td></td>
-<td><p>Additional apt runtime dependencies
-installed in the Main image.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ADDITIONAL_RUNTIME_APT_ENV</span></code></p></td>
-<td></td>
-<td><p>Additional env variables defined
-when installing runtime deps.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INSTALL_MYSQL_CLIENT</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">true</span></code></p></td>
-<td><p>Whether MySQL client should be installed
-The mysql extra is removed from extras
-if the client is not installed.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">INSTALL_MSSQL_CLIENT</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">true</span></code></p></td>
-<td><p>Whether MsSQL client should be installed</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor" title="airflow.executors.debug_executor.DebugExecutor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">DebugExecutor</span></code></a></p></td>
+<td><p>This executor is meant for debugging purposes. It can be used with SQLite.</p></td>
 </tr>
 </tbody>
 </table>
-</div>
-<div class="section" id="installing-airflow-using-different-methods">
-<h2>Installing Airflow using different methods<a class="headerlink" href="#installing-airflow-using-different-methods" title="Permalink to this headline">¶</a></h2>
-<p>Those parameters are useful only if you want to install Airflow using different installation methods than the default
-(installing from PyPI packages).</p>
-<p>This is usually only useful if you have your own fork of Airflow and want to build the images locally from
-those sources - either locally or directly from GitHub sources. This way you do not need to release your
-Airflow and Providers via PyPI - they can be installed directly from sources or from GitHub repository.
-Another option of installation is to build Airflow from previously prepared binary Python packages which might
-be useful if you need to build Airflow in environments that require high levels of security.</p>
-<dl class="simple">
-<dt>You can see some examples of those in:</dt><dd><ul class="simple">
-<li><p><a class="reference internal" href="build.html#image-build-github"><span class="std std-ref">Building from GitHub</span></a>,</p></li>
-<li><p><a class="reference internal" href="build.html#image-build-custom"><span class="std std-ref">Using custom installation sources</span></a>,</p></li>
-<li><p><a class="reference internal" href="build.html#image-build-secure-environments"><span class="std std-ref">Build images in security restricted environments</span></a></p></li>
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.executors.debug_executor.DebugExecutor">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.executors.debug_executor.</span></span><span class="sig-name descname"><span class="pre">DebugExecutor</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.d [...]
+<dd><p>Bases: <a class="reference internal" href="../base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a></p>
+<p>This executor is meant for debugging purposes. It can be used with SQLite.</p>
+<p>It executes one task instance at time. Additionally to support working
+with sensors, all sensors <code class="docutils literal notranslate"><span class="pre">mode</span></code> will be automatically set to “reschedule”.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.debug_executor.DebugExecutor.execute_async">
+<span class="sig-name descname"><span class="pre">execute_async</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class= [...]
+<dd><p>The method is replaced by custom trigger_task implementation.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.debug_executor.DebugExecutor.sync">
+<span class="sig-name descname"><span class="pre">sync</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor.sync"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.debug_executor.DebugExecutor.sync" title="Perma [...]
+<dd><p>Sync will get called periodically by the heartbeat method.
+Executors should override this to perform gather statuses.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.debug_executor.DebugExecutor.queue_task_instance">
+<span class="sig-name descname"><span class="pre">queue_task_instance</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_instance</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mark_success</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em [...]
+<dd><p>Queues task instance with empty command because we do not need it.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.debug_executor.DebugExecutor.trigger_tasks">
+<span class="sig-name descname"><span class="pre">trigger_tasks</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">open_slots</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor.trigger_tasks"><span class="viewcode-link"><span class="pre">[source]</span> [...]
+<dd><p>Triggers tasks. Instead of calling exec_async we just
+add task instance to tasks_to_run queue.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>open_slots</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><em>int</em></a>) – Number of open slots</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.debug_executor.DebugExecutor.end">
+<span class="sig-name descname"><span class="pre">end</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor.end"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.debug_executor.DebugExecutor.end" title="Permalin [...]
+<dd><p>When the method is called we just set states of queued tasks
+to UPSTREAM_FAILED marking them as not executed.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.debug_executor.DebugExecutor.terminate">
+<span class="sig-name descname"><span class="pre">terminate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor.terminate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.debug_executor.DebugExecutor.terminat [...]
+<dd><p>This method is called when the daemon receives a SIGTERM</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.debug_executor.DebugExecutor.change_state">
+<span class="sig-name descname"><span class="pre">change_state</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">state</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">info</span></span><span class="o"><span class="pre">=</span></span><span class="defau [...]
+<dd><p>Changes state of the task.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>info</strong> – Executor information for the task instance</p></li>
+<li><p><strong>key</strong> (<a class="reference internal" href="../../models/taskinstance/index.html#airflow.models.taskinstance.TaskInstanceKey" title="airflow.models.taskinstance.TaskInstanceKey"><em>airflow.models.taskinstance.TaskInstanceKey</em></a>) – Unique key for the task instance</p></li>
+<li><p><strong>state</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) – State to set for the task.</p></li>
 </ul>
 </dd>
 </dl>
-<table class="docutils align-default">
-<colgroup>
-<col style="width: 33%" />
-<col style="width: 33%" />
-<col style="width: 33%" />
-</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Build argument</p></th>
-<th class="head"><p>Default value</p></th>
-<th class="head"><p>Description</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_INSTALLATION_METHOD</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">apache-airflow</span></code></p></td>
-<td><p>Installation method of Apache Airflow.
-<code class="docutils literal notranslate"><span class="pre">apache-airflow</span></code> for installation from
-PyPI. It can be GitHub repository URL
-including branch or tag to install from
-that repository or &quot;.&quot; to install from
-local sources. Installing from sources
-requires appropriate values of the
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_FROM</span></code> and
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_TO</span></code> variables (see
-below)</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_FROM</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">empty</span></code></p></td>
-<td><p>Sources of Airflow. Set it to &quot;.&quot; when
-you install Airflow from local sources</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_TO</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">/empty</span></code></p></td>
-<td><p>Target for Airflow sources. Set to
-&quot;/opt/airflow&quot; when you install Airflow
-from local sources.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_WWW_FROM</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">empty</span></code></p></td>
-<td><p>Sources of Airflow WWW files used for
-asset compilation. Set it to
-&quot;./airflow/www&quot; when
-you install Airflow from local sources</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_SOURCES_WWW_TO</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">/empty</span></code></p></td>
-<td><p>Target for Airflow files used for
-asset compilation. Set it to
-&quot;/opt/airflow/airflow/www&quot; when
-you install Airflow from local sources.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_VERSION_SPECIFICATION</span></code></p></td>
-<td></td>
-<td><p>Optional - might be used for using limit
-for Airflow version installation - for
-example <code class="docutils literal notranslate"><span class="pre">&lt;2.0.2</span></code> for automated builds.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INSTALL_PROVIDERS_FROM_SOURCES</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
-<td><p>If set to <code class="docutils literal notranslate"><span class="pre">true</span></code> and image is built
-from sources, all provider packages are
-installed from sources rather than from
-packages. It has no effect when
-installing from PyPI or GitHub repo.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_CONSTRAINTS_LOCATION</span></code></p></td>
-<td></td>
-<td><p>If not empty, it will override the
-source of the constraints with the
-specified URL or file. Note that the
-file has to be in docker context so
-it's best to place such file in
-one of the folders included in
-<code class="docutils literal notranslate"><span class="pre">.dockerignore</span></code> file.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_DOCKER_CONTEXT_FILES</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
-<td><p>If set to true, Airflow, providers and
-all dependencies are installed from
-from locally built/downloaded
-.whl and .tar.gz files placed in the
-<code class="docutils literal notranslate"><span class="pre">docker-context-files</span></code>. In certain
-corporate environments, this is required
-to install airflow from such pre-vetted
-packages rather than from PyPI. For this
-to work, also set <code class="docutils literal notranslate"><span class="pre">INSTALL_FROM_PYPI</span></code>.
-Note that packages starting with
-<code class="docutils literal notranslate"><span class="pre">apache?airflow</span></code> glob are treated
-differently than other packages. All
-<code class="docutils literal notranslate"><span class="pre">apache?airflow</span></code> packages are
-installed with dependencies limited by
-airflow constraints. All other packages
-are installed without dependencies
-'as-is'. If you wish to install airflow
-via 'pip download' with all dependencies
-downloaded, you have to rename the
-apache airflow and provider packages to
-not start with <code class="docutils literal notranslate"><span class="pre">apache?airflow</span></code> glob.</p></td>
-</tr>
-</tbody>
-</table>
+</dd></dl>
+
+</dd></dl>
+
 </div>
-<div class="section" id="pre-caching-pip-dependencies">
-<h2>Pre-caching PIP dependencies<a class="headerlink" href="#pre-caching-pip-dependencies" title="Permalink to this headline">¶</a></h2>
-<p>When image is build from PIP, by default pre-caching of PIP dependencies is used. This is in order to speed-up incremental
-builds during development. When pre-cached PIP dependencies are used and <code class="docutils literal notranslate"><span class="pre">setup.py</span></code> or <code class="docutils literal notranslate"><span class="pre">setup.cfg</span></code> changes, the
-PIP dependencies are already pre-installed, thus resulting in much faster image rebuild. This is purely an optimization
-of time needed to build the images and should be disabled if you want to install Airflow from
-docker context files.</p>
-<table class="docutils align-default">
-<colgroup>
-<col style="width: 33%" />
-<col style="width: 33%" />
-<col style="width: 33%" />
-</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Build argument</p></th>
-<th class="head"><p>Default value</p></th>
-<th class="head"><p>Description</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_BRANCH</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">main</span></code></p></td>
-<td><p>the branch from which PIP dependencies
-are pre-installed initially.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_REPO</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">apache/airflow</span></code></p></td>
-<td><p>the repository from which PIP
-dependencies are pre-installed.</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AIRFLOW_PRE_CACHED_PIP_PACKAGES</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
-<td><p>Allows to pre-cache airflow PIP packages
-from the GitHub of Apache Airflow
-This allows to optimize iterations for
-Image builds and speeds up CI builds.</p></td>
-</tr>
-</tbody>
-</table>
 </div>
 </div>
 
 
     <div class="pager" role="navigation" aria-label="related navigation">
-            <a rel="prev" title="Recipes" href="recipes.html" >
+            <a rel="prev" title="airflow.executors.dask_executor" href="../dask_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
-            </a><button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" disabled>Next</button>
+            </a>
+            <a rel="next" title="airflow.executors.executor_constants" href="../executor_constants/index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
+            </a>
     </div>
                                     </div>
 
@@ -992,11 +922,23 @@ Image builds and speeds up CI builds.</p></td>
     <nav class="wy-nav-side-toc">
         <div class="wy-menu-vertical">
             <ul>
-<li><a class="reference internal" href="#">Image build arguments reference</a><ul>
-<li><a class="reference internal" href="#basic-arguments">Basic arguments</a></li>
-<li><a class="reference internal" href="#image-optimization-options">Image optimization options</a></li>
-<li><a class="reference internal" href="#installing-airflow-using-different-methods">Installing Airflow using different methods</a></li>
-<li><a class="reference internal" href="#pre-caching-pip-dependencies">Pre-caching PIP dependencies</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a><ul>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor">DebugExecutor</a><ul>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.execute_async">execute_async</a></li>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.sync">sync</a></li>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.queue_task_instance">queue_task_instance</a></li>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.trigger_tasks">trigger_tasks</a></li>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.end">end</a></li>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.terminate">terminate</a></li>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.change_state">change_state</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -1021,7 +963,7 @@ Image builds and speeds up CI builds.</p></td>
             
         
         <div class="base-layout--button">
-            <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/build-arg-ref.rst" rel="nofollow">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/executors/debug_executor/index.rst" rel="nofollow">
 
                 <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
                     <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -1155,16 +1097,17 @@ Image builds and speeds up CI builds.</p></td>
         </span>
     </div>
 </footer>
-    <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
-    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+    <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
-        <script src="_static/jquery.js"></script>
-        <script src="_static/underscore.js"></script>
-        <script src="_static/doctools.js"></script>
-        <script src="_static/clipboard.min.js"></script>
-        <script src="_static/copybutton.js"></script>
+        <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+        <script src="../../../../_static/jquery.js"></script>
+        <script src="../../../../_static/underscore.js"></script>
+        <script src="../../../../_static/doctools.js"></script>
+        <script src="../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../_static/copybutton.js"></script>
+        <script src="../../../../_static/gh-jira-links.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/recipes.html b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/executor_constants/index.html
similarity index 70%
copy from docs-archive/docker-stack/recipes.html
copy to docs-archive/apache-airflow/2.3.0/_api/airflow/executors/executor_constants/index.html
index 01babdec4..c69e09d62 100644
--- a/docs-archive/docker-stack/recipes.html
+++ b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/executor_constants/index.html
@@ -9,32 +9,35 @@
 <head>
         <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1">
-        <title>Recipes &mdash; docker-stack Documentation</title>
-    <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
-            <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
-            <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
-            <link rel="shortcut icon" href="_static/pin_32.png"/>
-            <link rel="index" title="Index" href="genindex.html" />
-            <link rel="search" title="Search" href="search.html" />
-            <link rel="next" title="Image build arguments reference" href="build-arg-ref.html" />
-            <link rel="prev" title="Entrypoint" href="entrypoint.html" />
-<!-- Matomo -->
-<script>
-  var _paq = window._paq = window._paq || [];
-  _paq.push(['disableCookies']);
-  _paq.push(['trackPageView']);
-  _paq.push(['enableLinkTracking']);
-  (function() {
-    var u="https://analytics.apache.org/";
-    _paq.push(['setTrackerUrl', u+'matomo.php']);
-    _paq.push(['setSiteId', '13']);
-    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
-  })();
-</script>
-<!-- End Matomo -->
+        <title>airflow.executors.executor_constants &mdash; Airflow Documentation</title>
+    <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../search.html" />
+            <link rel="next" title="airflow.executors.executor_loader" href="../executor_loader/index.html" />
+            <link rel="prev" title="airflow.executors.debug_executor" href="../debug_executor/index.html" />
+    <!-- Matomo -->
+    <script>
+        var _paq = window._paq = window._paq || [];
+        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+        /* We explicitly disable cookie tracking to avoid privacy issues */
+        _paq.push(['disableCookies']);
+        _paq.push(['trackPageView']);
+        _paq.push(['enableLinkTracking']);
+        (function() {
+        var u="https://analytics.apache.org/";
+        _paq.push(['setTrackerUrl', u+'matomo.php']);
+        _paq.push(['setSiteId', '13']);
+        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+        })();
+    </script>
+    <!-- End Matomo Code -->
 
     
 </head><body class="td-section">
@@ -278,8 +281,21 @@
             <div class="content-drawer">
                 <div class="td-sidebar">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -309,19 +325,95 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Recipes</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#google-cloud-sdk-installation">Google Cloud SDK installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#apache-hadoop-stack-installation">Apache Hadoop Stack installation</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.LOCAL_EXECUTOR">LOCAL_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.LOCAL_KUBERNETES_EXECUTOR">LOCAL_KUBERNETES_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.SEQUENTIAL_EXECUTOR">SEQUENTIAL_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_EXECUTOR">CELERY_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_KUBERNETES_EXECUTOR">CELERY_KUBERNETES_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.DASK_EXECUTOR">DASK_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.KUBERNETES_EXECUTOR">KUBERNETES_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.DEBUG_EXECUTOR">DEBUG_EXECUTOR</a></li>
 </ul>
 </li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -402,8 +494,21 @@
             
     <div class="td-sidebar desktop-only d-print-none">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -433,19 +538,95 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Recipes</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#google-cloud-sdk-installation">Google Cloud SDK installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#apache-hadoop-stack-installation">Apache Hadoop Stack installation</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.LOCAL_EXECUTOR">LOCAL_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.LOCAL_KUBERNETES_EXECUTOR">LOCAL_KUBERNETES_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.SEQUENTIAL_EXECUTOR">SEQUENTIAL_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_EXECUTOR">CELERY_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_KUBERNETES_EXECUTOR">CELERY_KUBERNETES_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.DASK_EXECUTOR">DASK_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.KUBERNETES_EXECUTOR">KUBERNETES_EXECUTOR</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.DEBUG_EXECUTOR">DEBUG_EXECUTOR</a></li>
 </ul>
 </li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -534,9 +715,13 @@
 
     <ul class="breadcrumb">
         
-            <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+            <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
             
-            <li class="breadcrumb-item"><a href="recipes.html"> Recipes</a></li>
+                <li class="breadcrumb-item"><a href="../../../../python-api-ref.html">Python API Reference</a></li>
+            
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
         
     </ul>
 </div>
@@ -547,196 +732,59 @@
                                 <div class="bodywrapper">
                                     <div class="body" role="main">
                                         
-  <blockquote>
-<div></div></blockquote>
-<div class="section" id="recipes">
-<h1>Recipes<a class="headerlink" href="#recipes" title="Permalink to this headline">¶</a></h1>
-<p>Users sometimes share interesting ways of using the Docker images. We encourage users to contribute these
-recipes to the documentation in case they prove useful to other members of the community by
-submitting a pull request. The sections below capture this knowledge.</p>
-<div class="section" id="google-cloud-sdk-installation">
-<h2>Google Cloud SDK installation<a class="headerlink" href="#google-cloud-sdk-installation" title="Permalink to this headline">¶</a></h2>
-<p>Some operators, such as <a class="reference external" href="/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/cloud/operators/kubernetes_engine/index.html#airflow.providers.google.cloud.operators.kubernetes_engine.GKEStartPodOperator" title="(in apache-airflow-providers-google v6.7.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">GKEStartPodOperator</span></code></a>,
-<a class="reference external" href="/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/cloud/operators/dataflow/index.html#airflow.providers.google.cloud.operators.dataflow.DataflowStartSqlJobOperator" title="(in apache-airflow-providers-google v6.7.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">DataflowStartSqlJobOperator</span></code></a>, require
-the installation of <a class="reference external" href="https://cloud.google.com/sdk">Google Cloud SDK</a> (includes <code class="docutils literal notranslate"><span class="pre">gcloud</span></code>).
-You can also run these commands with BashOperator.</p>
-<p>Create a new Dockerfile like the one shown below.</p>
-<div class="example-block-wrapper docutils container">
-<p class="example-header"><span class="example-title">docs/docker-stack/docker-images-recipes/gcloud.Dockerfile</span></p>
-<div class="highlight-dockerfile notranslate"><div class="highlight"><pre><span></span><span class="c"># Licensed to the Apache Software Foundation (ASF) under one or more</span>
-<span class="c"># contributor license agreements.  See the NOTICE file distributed with</span>
-<span class="c"># this work for additional information regarding copyright ownership.</span>
-<span class="c"># The ASF licenses this file to You under the Apache License, Version 2.0</span>
-<span class="c"># (the &quot;License&quot;); you may not use this file except in compliance with</span>
-<span class="c"># the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#    http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c"># See the License for the specific language governing permissions and</span>
-<span class="c"># limitations under the License.</span>
-<span class="k">ARG</span><span class="w"> </span>BASE_AIRFLOW_IMAGE
-<span class="k">FROM</span><span class="w"> </span><span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-o&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;pipefail&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-e&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-u&quot;</span><span class="p">,</sp [...]
-
-<span class="k">USER</span><span class="w"> </span><span class="s">0</span>
-
-<span class="k">ARG</span><span class="w"> </span><span class="nv">CLOUD_SDK_VERSION</span><span class="o">=</span><span class="m">322</span>.0.0
-<span class="k">ENV</span><span class="w"> </span><span class="nv">GCLOUD_HOME</span><span class="o">=</span>/opt/google-cloud-sdk
-
-<span class="k">ENV</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCLOUD_HOME</span><span class="si">}</span><span class="s2">/bin/:</span><span class="si">${</span><span class="nv">PATH</span><span class="si">}</span><span class="s2">&quot;</span>
-
-<span class="k">RUN</span><span class="w"> </span><span class="nv">DOWNLOAD_URL</span><span class="o">=</span><span class="s2">&quot;https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-</span><span class="si">${</span><span class="nv">CLOUD_SDK_VERSION</span><span class="si">}</span><span class="s2">-linux-x86_64.tar.gz&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> <span class="nv">TMP_DIR</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>mktemp -d<span class="k">)</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fL <span class="s2">&quot;</span><span class="si">${</span><span class="nv">DOWNLOAD_URL</span><span class="si">}</span><span class="s2">&quot;</span> --output <span class="s2">&quot;</span><span class="si">${</span><span class="nv">TMP_DIR</span><span class="si">}</span><span class="s2">/google-cloud-sdk.tar.gz&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir -p <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCLOUD_HOME</span><span class="si">}</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> tar xzf <span class="s2">&quot;</span><span class="si">${</span><span class="nv">TMP_DIR</span><span class="si">}</span><span class="s2">/google-cloud-sdk.tar.gz&quot;</span> -C <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCLOUD_HOME</span><span class="si">}</span><span class="s2">&quot;</span> --strip-components<span class="o">=</span><span class="m">1</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCLOUD_HOME</span><span class="si">}</span><span class="s2">/install.sh&quot;</span> <span class="se">\</span>
-       --bash-completion<span class="o">=</span><span class="nb">false</span> <span class="se">\</span>
-       --path-update<span class="o">=</span><span class="nb">false</span> <span class="se">\</span>
-       --usage-reporting<span class="o">=</span><span class="nb">false</span> <span class="se">\</span>
-       --additional-components alpha beta kubectl <span class="se">\</span>
-       --quiet <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> rm -rf <span class="s2">&quot;</span><span class="si">${</span><span class="nv">TMP_DIR</span><span class="si">}</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> rm -rf <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCLOUD_HOME</span><span class="si">}</span><span class="s2">/.install/.backup/&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> gcloud --version
-
-<span class="k">USER</span><span class="w"> </span><span class="s">${AIRFLOW_UID}</span>
-</pre></div>
-</div>
-</div>
-<p>Then build a new image.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker build . <span class="se">\</span>
-  --pull <span class="se">\</span>
-  --build-arg <span class="nv">BASE_AIRFLOW_IMAGE</span><span class="o">=</span><span class="s2">&quot;apache/airflow:2.0.2&quot;</span> <span class="se">\</span>
-  --tag my-airflow-image:0.0.1
-</pre></div>
-</div>
-</div>
-<div class="section" id="apache-hadoop-stack-installation">
-<h2>Apache Hadoop Stack installation<a class="headerlink" href="#apache-hadoop-stack-installation" title="Permalink to this headline">¶</a></h2>
-<p>Airflow is often used to run tasks on Hadoop cluster. It required Java Runtime Environment (JRE) to run.
-Below are the steps to take tools that are frequently used in Hadoop-world:</p>
-<ul class="simple">
-<li><p>Java Runtime Environment (JRE)</p></li>
-<li><p>Apache Hadoop</p></li>
-<li><p>Apache Hive</p></li>
-<li><p><a class="reference external" href="https://cloud.google.com/dataproc/docs/concepts/connectors/cloud-storage">Cloud Storage connector for Apache Hadoop</a></p></li>
-</ul>
-<p>Create a new Dockerfile like the one shown below.</p>
-<div class="example-block-wrapper docutils container">
-<p class="example-header"><span class="example-title">docs/docker-stack/docker-images-recipes/hadoop.Dockerfile</span></p>
-<div class="highlight-dockerfile notranslate"><div class="highlight"><pre><span></span><span class="c"># Licensed to the Apache Software Foundation (ASF) under one or more</span>
-<span class="c"># contributor license agreements.  See the NOTICE file distributed with</span>
-<span class="c"># this work for additional information regarding copyright ownership.</span>
-<span class="c"># The ASF licenses this file to You under the Apache License, Version 2.0</span>
-<span class="c"># (the &quot;License&quot;); you may not use this file except in compliance with</span>
-<span class="c"># the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#    http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c"># See the License for the specific language governing permissions and</span>
-<span class="c"># limitations under the License.</span>
-<span class="k">ARG</span><span class="w"> </span>BASE_AIRFLOW_IMAGE
-
-<span class="k">FROM</span><span class="w"> </span><span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-o&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;pipefail&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-e&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-u&quot;</span><span class="p">,</sp [...]
-
-<span class="k">USER</span><span class="w"> </span><span class="s">0</span>
-
-<span class="c"># Install Java</span>
-<span class="k">RUN</span><span class="w"> </span>mkdir -pv /usr/share/man/man1 <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir -pv /usr/share/man/man7 <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fsSL https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public <span class="p">|</span> apt-key add - <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> <span class="nb">echo</span> <span class="s1">&#39;deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ buster main&#39;</span> &gt; <span class="se">\</span>
-        /etc/apt/sources.list.d/adoptopenjdk.list <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> apt-get update <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> apt-get install --no-install-recommends -y <span class="se">\</span>
-      adoptopenjdk-8-hotspot-jre <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> apt-get autoremove -yqq --purge <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> apt-get clean <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> rm -rf /var/lib/apt/lists/*
-<span class="k">ENV</span><span class="w"> </span><span class="nv">JAVA_HOME</span><span class="o">=</span>/usr/lib/jvm/adoptopenjdk-8-hotspot-jre-amd64
-
-<span class="k">RUN</span><span class="w"> </span>mkdir -p /opt/spark/jars
-
-<span class="c"># Install Apache Hadoop</span>
-<span class="k">ARG</span><span class="w"> </span><span class="nv">HADOOP_VERSION</span><span class="o">=</span><span class="m">2</span>.10.1
-<span class="k">ENV</span><span class="w"> </span><span class="nv">HADOOP_HOME</span><span class="o">=</span>/opt/hadoop
-<span class="k">ENV</span><span class="w"> </span><span class="nv">HADOOP_CONF_DIR</span><span class="o">=</span>/etc/hadoop
-<span class="k">ENV</span><span class="w"> </span><span class="nv">MULTIHOMED_NETWORK</span><span class="o">=</span><span class="m">1</span>
-<span class="k">ENV</span><span class="w"> </span><span class="nv">USER</span><span class="o">=</span>root
-
-<span class="k">RUN</span><span class="w"> </span><span class="nv">HADOOP_URL</span><span class="o">=</span><span class="s2">&quot;https://archive.apache.org/dist/hadoop/common/hadoop-</span><span class="nv">$HADOOP_VERSION</span><span class="s2">/hadoop-</span><span class="nv">$HADOOP_VERSION</span><span class="s2">.tar.gz&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl <span class="s1">&#39;https://dist.apache.org/repos/dist/release/hadoop/common/KEYS&#39;</span> <span class="p">|</span> gpg --import - <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fSL <span class="s2">&quot;</span><span class="nv">$HADOOP_URL</span><span class="s2">&quot;</span> -o /tmp/hadoop.tar.gz <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fSL <span class="s2">&quot;</span><span class="nv">$HADOOP_URL</span><span class="s2">.asc&quot;</span> -o /tmp/hadoop.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> gpg --verify /tmp/hadoop.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir -p <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HADOOP_HOME</span><span class="si">}</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> tar -xvf /tmp/hadoop.tar.gz -C <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HADOOP_HOME</span><span class="si">}</span><span class="s2">&quot;</span> --strip-components<span class="o">=</span><span class="m">1</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> rm /tmp/hadoop.tar.gz /tmp/hadoop.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> ln -s <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HADOOP_HOME</span><span class="si">}</span><span class="s2">/etc/hadoop&quot;</span> /etc/hadoop <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HADOOP_HOME</span><span class="si">}</span><span class="s2">/logs&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir /hadoop-data
-
-<span class="k">ENV</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="s2">&quot;</span><span class="nv">$HADOOP_HOME</span><span class="s2">/bin/:</span><span class="nv">$PATH</span><span class="s2">&quot;</span>
-
-<span class="c"># Install Apache Hive</span>
-<span class="k">ARG</span><span class="w"> </span><span class="nv">HIVE_VERSION</span><span class="o">=</span><span class="m">2</span>.3.7
-<span class="k">ENV</span><span class="w"> </span><span class="nv">HIVE_HOME</span><span class="o">=</span>/opt/hive
-<span class="k">ENV</span><span class="w"> </span><span class="nv">HIVE_CONF_DIR</span><span class="o">=</span>/etc/hive
-
-<span class="k">RUN</span><span class="w"> </span><span class="nv">HIVE_URL</span><span class="o">=</span><span class="s2">&quot;https://archive.apache.org/dist/hive/hive-</span><span class="si">${</span><span class="nv">HIVE_VERSION</span><span class="si">}</span><span class="s2">/apache-hive-</span><span class="si">${</span><span class="nv">HIVE_VERSION</span><span class="si">}</span><span class="s2">-bin.tar.gz&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fSL <span class="s1">&#39;https://downloads.apache.org/hive/KEYS&#39;</span> <span class="p">|</span> gpg --import - <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fSL <span class="s2">&quot;</span><span class="nv">$HIVE_URL</span><span class="s2">&quot;</span> -o /tmp/hive.tar.gz <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fSL <span class="s2">&quot;</span><span class="nv">$HIVE_URL</span><span class="s2">.asc&quot;</span> -o /tmp/hive.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> gpg --verify /tmp/hive.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir -p <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HIVE_HOME</span><span class="si">}</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> tar -xf /tmp/hive.tar.gz -C <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HIVE_HOME</span><span class="si">}</span><span class="s2">&quot;</span> --strip-components<span class="o">=</span><span class="m">1</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> rm /tmp/hive.tar.gz /tmp/hive.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> ln -s <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HIVE_HOME</span><span class="si">}</span><span class="s2">/etc/hive&quot;</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HIVE_CONF_DIR</span><span class="si">}</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HIVE_HOME</span><span class="si">}</span><span class="s2">/logs&quot;</span>
-
-<span class="k">ENV</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="s2">&quot;</span><span class="nv">$HIVE_HOME</span><span class="s2">/bin/:</span><span class="nv">$PATH</span><span class="s2">&quot;</span>
-
-<span class="c"># Install GCS connector for Apache Hadoop</span>
-<span class="c"># See: https://cloud.google.com/dataproc/docs/concepts/connectors/cloud-storage</span>
-<span class="k">ARG</span><span class="w"> </span><span class="nv">GCS_VARIANT</span><span class="o">=</span><span class="s2">&quot;hadoop2&quot;</span>
-<span class="k">ARG</span><span class="w"> </span><span class="nv">GCS_VERSION</span><span class="o">=</span><span class="s2">&quot;2.1.5&quot;</span>
-
-<span class="k">RUN</span><span class="w"> </span><span class="nv">GCS_JAR_PATH</span><span class="o">=</span><span class="s2">&quot;/opt/spark/jars/gcs-connector-</span><span class="si">${</span><span class="nv">GCS_VARIANT</span><span class="si">}</span><span class="s2">-</span><span class="si">${</span><span class="nv">GCS_VERSION</span><span class="si">}</span><span class="s2">.jar&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> <span class="nv">GCS_JAR_URL</span><span class="o">=</span><span class="s2">&quot;https://storage.googleapis.com/hadoop-lib/gcs/gcs-connector-</span><span class="si">${</span><span class="nv">GCS_VARIANT</span><span class="si">}</span><span class="s2">-</span><span class="si">${</span><span class="nv">GCS_VERSION</span><span class="si">}</span><span class="s2">.jar&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCS_JAR_URL</span><span class="si">}</span><span class="s2">&quot;</span> -o <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCS_JAR_PATH</span><span class="si">}</span><span class="s2">&quot;</span>
-
-<span class="k">ENV</span><span class="w"> </span><span class="nv">HADOOP_CLASSPATH</span><span class="o">=</span><span class="s2">&quot;/opt/spark/jars/gcs-connector-</span><span class="si">${</span><span class="nv">GCS_VARIANT</span><span class="si">}</span><span class="s2">-</span><span class="si">${</span><span class="nv">GCS_VERSION</span><span class="si">}</span><span class="s2">.jar:</span><span class="nv">$HADOOP_CLASSPATH</span><span class="s2">&quot;</span>
-
-<span class="k">USER</span><span class="w"> </span><span class="s">${AIRFLOW_UID}</span>
-</pre></div>
-</div>
-</div>
-<p>Then build a new image.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker build . <span class="se">\</span>
-  --pull <span class="se">\</span>
-  --build-arg <span class="nv">BASE_AIRFLOW_IMAGE</span><span class="o">=</span><span class="s2">&quot;apache/airflow:2.0.2&quot;</span> <span class="se">\</span>
-  --tag my-airflow-image:0.0.1
-</pre></div>
-</div>
+  <div class="section" id="module-airflow.executors.executor_constants">
+<span id="airflow-executors-executor-constants"></span><h1><a class="reference internal" href="#module-airflow.executors.executor_constants" title="airflow.executors.executor_constants"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a><a class="headerlink" href="#module-airflow.executors.executor_constants" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.executor_constants.LOCAL_EXECUTOR">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_constants.</span></span><span class="sig-name descname"><span class="pre">LOCAL_EXECUTOR</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">LocalExecutor</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#LOCAL_EXECUTOR"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a  [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.executor_constants.LOCAL_KUBERNETES_EXECUTOR">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_constants.</span></span><span class="sig-name descname"><span class="pre">LOCAL_KUBERNETES_EXECUTOR</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">LocalKubernetesExecutor</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#LOCAL_KUBERNETES_EXECUTOR"><span class="viewcode-link"><span class="pr [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.executor_constants.SEQUENTIAL_EXECUTOR">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_constants.</span></span><span class="sig-name descname"><span class="pre">SEQUENTIAL_EXECUTOR</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">SequentialExecutor</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#SEQUENTIAL_EXECUTOR"><span class="viewcode-link"><span class="pre">[source]</span [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.executor_constants.CELERY_EXECUTOR">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_constants.</span></span><span class="sig-name descname"><span class="pre">CELERY_EXECUTOR</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">CeleryExecutor</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#CELERY_EXECUTOR"><span class="viewcode-link"><span class="pre">[source]</span></span></a> [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.executor_constants.CELERY_KUBERNETES_EXECUTOR">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_constants.</span></span><span class="sig-name descname"><span class="pre">CELERY_KUBERNETES_EXECUTOR</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">CeleryKubernetesExecutor</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#CELERY_KUBERNETES_EXECUTOR"><span class="viewcode-link"><span class= [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.executor_constants.DASK_EXECUTOR">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_constants.</span></span><span class="sig-name descname"><span class="pre">DASK_EXECUTOR</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">DaskExecutor</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#DASK_EXECUTOR"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a cla [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.executor_constants.KUBERNETES_EXECUTOR">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_constants.</span></span><span class="sig-name descname"><span class="pre">KUBERNETES_EXECUTOR</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">KubernetesExecutor</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#KUBERNETES_EXECUTOR"><span class="viewcode-link"><span class="pre">[source]</span [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.executor_constants.DEBUG_EXECUTOR">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_constants.</span></span><span class="sig-name descname"><span class="pre">DEBUG_EXECUTOR</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">DebugExecutor</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#DEBUG_EXECUTOR"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a  [...]
+<dd></dd></dl>
+
 </div>
 </div>
 
 
     <div class="pager" role="navigation" aria-label="related navigation">
-            <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+            <a rel="prev" title="airflow.executors.debug_executor" href="../debug_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
             </a>
-            <a rel="next" title="Image build arguments reference" href="build-arg-ref.html" >
+            <a rel="next" title="airflow.executors.executor_loader" href="../executor_loader/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
             </a>
     </div>
@@ -806,9 +854,18 @@ Below are the steps to take tools that are frequently used in Hadoop-world:</p>
     <nav class="wy-nav-side-toc">
         <div class="wy-menu-vertical">
             <ul>
-<li><a class="reference internal" href="#">Recipes</a><ul>
-<li><a class="reference internal" href="#google-cloud-sdk-installation">Google Cloud SDK installation</a></li>
-<li><a class="reference internal" href="#apache-hadoop-stack-installation">Apache Hadoop Stack installation</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.LOCAL_EXECUTOR">LOCAL_EXECUTOR</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.LOCAL_KUBERNETES_EXECUTOR">LOCAL_KUBERNETES_EXECUTOR</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.SEQUENTIAL_EXECUTOR">SEQUENTIAL_EXECUTOR</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_EXECUTOR">CELERY_EXECUTOR</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_KUBERNETES_EXECUTOR">CELERY_KUBERNETES_EXECUTOR</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.DASK_EXECUTOR">DASK_EXECUTOR</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.KUBERNETES_EXECUTOR">KUBERNETES_EXECUTOR</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.DEBUG_EXECUTOR">DEBUG_EXECUTOR</a></li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -833,7 +890,7 @@ Below are the steps to take tools that are frequently used in Hadoop-world:</p>
             
         
         <div class="base-layout--button">
-            <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/recipes.rst" rel="nofollow">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/executors/executor_constants/index.rst" rel="nofollow">
 
                 <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
                     <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -967,16 +1024,17 @@ Below are the steps to take tools that are frequently used in Hadoop-world:</p>
         </span>
     </div>
 </footer>
-    <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
-    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+    <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
-        <script src="_static/jquery.js"></script>
-        <script src="_static/underscore.js"></script>
-        <script src="_static/doctools.js"></script>
-        <script src="_static/clipboard.min.js"></script>
-        <script src="_static/copybutton.js"></script>
+        <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+        <script src="../../../../_static/jquery.js"></script>
+        <script src="../../../../_static/underscore.js"></script>
+        <script src="../../../../_static/doctools.js"></script>
+        <script src="../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../_static/copybutton.js"></script>
+        <script src="../../../../_static/gh-jira-links.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/recipes.html b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/executor_loader/index.html
similarity index 66%
copy from docs-archive/docker-stack/recipes.html
copy to docs-archive/apache-airflow/2.3.0/_api/airflow/executors/executor_loader/index.html
index 01babdec4..e589739b3 100644
--- a/docs-archive/docker-stack/recipes.html
+++ b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/executor_loader/index.html
@@ -9,32 +9,35 @@
 <head>
         <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1">
-        <title>Recipes &mdash; docker-stack Documentation</title>
-    <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
-            <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
-            <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
-            <link rel="shortcut icon" href="_static/pin_32.png"/>
-            <link rel="index" title="Index" href="genindex.html" />
-            <link rel="search" title="Search" href="search.html" />
-            <link rel="next" title="Image build arguments reference" href="build-arg-ref.html" />
-            <link rel="prev" title="Entrypoint" href="entrypoint.html" />
-<!-- Matomo -->
-<script>
-  var _paq = window._paq = window._paq || [];
-  _paq.push(['disableCookies']);
-  _paq.push(['trackPageView']);
-  _paq.push(['enableLinkTracking']);
-  (function() {
-    var u="https://analytics.apache.org/";
-    _paq.push(['setTrackerUrl', u+'matomo.php']);
-    _paq.push(['setSiteId', '13']);
-    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
-  })();
-</script>
-<!-- End Matomo -->
+        <title>airflow.executors.executor_loader &mdash; Airflow Documentation</title>
+    <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../search.html" />
+            <link rel="next" title="airflow.executors.kubernetes_executor" href="../kubernetes_executor/index.html" />
+            <link rel="prev" title="airflow.executors.executor_constants" href="../executor_constants/index.html" />
+    <!-- Matomo -->
+    <script>
+        var _paq = window._paq = window._paq || [];
+        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+        /* We explicitly disable cookie tracking to avoid privacy issues */
+        _paq.push(['disableCookies']);
+        _paq.push(['trackPageView']);
+        _paq.push(['enableLinkTracking']);
+        (function() {
+        var u="https://analytics.apache.org/";
+        _paq.push(['setTrackerUrl', u+'matomo.php']);
+        _paq.push(['setSiteId', '13']);
+        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+        })();
+    </script>
+    <!-- End Matomo Code -->
 
     
 </head><body class="td-section">
@@ -278,8 +281,21 @@
             <div class="content-drawer">
                 <div class="td-sidebar">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -309,19 +325,106 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Recipes</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#google-cloud-sdk-installation">Google Cloud SDK installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#apache-hadoop-stack-installation">Apache Hadoop Stack installation</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.log">log</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource">ConnectorSource</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource.CORE">CORE</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource.PLUGIN">PLUGIN</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource.CUSTOM_PATH">CUSTOM_PATH</a></li>
 </ul>
 </li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader">ExecutorLoader</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.executors">executors</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.get_default_executor">get_default_executor</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.load_executor">load_executor</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.import_executor_cls">import_executor_cls</a></li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS">UNPICKLEABLE_EXECUTORS</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -402,8 +505,21 @@
             
     <div class="td-sidebar desktop-only d-print-none">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -433,19 +549,106 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Recipes</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#google-cloud-sdk-installation">Google Cloud SDK installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#apache-hadoop-stack-installation">Apache Hadoop Stack installation</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.log">log</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource">ConnectorSource</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource.CORE">CORE</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource.PLUGIN">PLUGIN</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource.CUSTOM_PATH">CUSTOM_PATH</a></li>
 </ul>
 </li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader">ExecutorLoader</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.executors">executors</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.get_default_executor">get_default_executor</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.load_executor">load_executor</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.import_executor_cls">import_executor_cls</a></li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS">UNPICKLEABLE_EXECUTORS</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -534,9 +737,13 @@
 
     <ul class="breadcrumb">
         
-            <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+            <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
             
-            <li class="breadcrumb-item"><a href="recipes.html"> Recipes</a></li>
+                <li class="breadcrumb-item"><a href="../../../../python-api-ref.html">Python API Reference</a></li>
+            
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
         
     </ul>
 </div>
@@ -547,196 +754,138 @@
                                 <div class="bodywrapper">
                                     <div class="body" role="main">
                                         
-  <blockquote>
-<div></div></blockquote>
-<div class="section" id="recipes">
-<h1>Recipes<a class="headerlink" href="#recipes" title="Permalink to this headline">¶</a></h1>
-<p>Users sometimes share interesting ways of using the Docker images. We encourage users to contribute these
-recipes to the documentation in case they prove useful to other members of the community by
-submitting a pull request. The sections below capture this knowledge.</p>
-<div class="section" id="google-cloud-sdk-installation">
-<h2>Google Cloud SDK installation<a class="headerlink" href="#google-cloud-sdk-installation" title="Permalink to this headline">¶</a></h2>
-<p>Some operators, such as <a class="reference external" href="/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/cloud/operators/kubernetes_engine/index.html#airflow.providers.google.cloud.operators.kubernetes_engine.GKEStartPodOperator" title="(in apache-airflow-providers-google v6.7.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">GKEStartPodOperator</span></code></a>,
-<a class="reference external" href="/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/cloud/operators/dataflow/index.html#airflow.providers.google.cloud.operators.dataflow.DataflowStartSqlJobOperator" title="(in apache-airflow-providers-google v6.7.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">DataflowStartSqlJobOperator</span></code></a>, require
-the installation of <a class="reference external" href="https://cloud.google.com/sdk">Google Cloud SDK</a> (includes <code class="docutils literal notranslate"><span class="pre">gcloud</span></code>).
-You can also run these commands with BashOperator.</p>
-<p>Create a new Dockerfile like the one shown below.</p>
-<div class="example-block-wrapper docutils container">
-<p class="example-header"><span class="example-title">docs/docker-stack/docker-images-recipes/gcloud.Dockerfile</span></p>
-<div class="highlight-dockerfile notranslate"><div class="highlight"><pre><span></span><span class="c"># Licensed to the Apache Software Foundation (ASF) under one or more</span>
-<span class="c"># contributor license agreements.  See the NOTICE file distributed with</span>
-<span class="c"># this work for additional information regarding copyright ownership.</span>
-<span class="c"># The ASF licenses this file to You under the Apache License, Version 2.0</span>
-<span class="c"># (the &quot;License&quot;); you may not use this file except in compliance with</span>
-<span class="c"># the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#    http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c"># See the License for the specific language governing permissions and</span>
-<span class="c"># limitations under the License.</span>
-<span class="k">ARG</span><span class="w"> </span>BASE_AIRFLOW_IMAGE
-<span class="k">FROM</span><span class="w"> </span><span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-o&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;pipefail&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-e&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-u&quot;</span><span class="p">,</sp [...]
-
-<span class="k">USER</span><span class="w"> </span><span class="s">0</span>
-
-<span class="k">ARG</span><span class="w"> </span><span class="nv">CLOUD_SDK_VERSION</span><span class="o">=</span><span class="m">322</span>.0.0
-<span class="k">ENV</span><span class="w"> </span><span class="nv">GCLOUD_HOME</span><span class="o">=</span>/opt/google-cloud-sdk
-
-<span class="k">ENV</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCLOUD_HOME</span><span class="si">}</span><span class="s2">/bin/:</span><span class="si">${</span><span class="nv">PATH</span><span class="si">}</span><span class="s2">&quot;</span>
-
-<span class="k">RUN</span><span class="w"> </span><span class="nv">DOWNLOAD_URL</span><span class="o">=</span><span class="s2">&quot;https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-</span><span class="si">${</span><span class="nv">CLOUD_SDK_VERSION</span><span class="si">}</span><span class="s2">-linux-x86_64.tar.gz&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> <span class="nv">TMP_DIR</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>mktemp -d<span class="k">)</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fL <span class="s2">&quot;</span><span class="si">${</span><span class="nv">DOWNLOAD_URL</span><span class="si">}</span><span class="s2">&quot;</span> --output <span class="s2">&quot;</span><span class="si">${</span><span class="nv">TMP_DIR</span><span class="si">}</span><span class="s2">/google-cloud-sdk.tar.gz&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir -p <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCLOUD_HOME</span><span class="si">}</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> tar xzf <span class="s2">&quot;</span><span class="si">${</span><span class="nv">TMP_DIR</span><span class="si">}</span><span class="s2">/google-cloud-sdk.tar.gz&quot;</span> -C <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCLOUD_HOME</span><span class="si">}</span><span class="s2">&quot;</span> --strip-components<span class="o">=</span><span class="m">1</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCLOUD_HOME</span><span class="si">}</span><span class="s2">/install.sh&quot;</span> <span class="se">\</span>
-       --bash-completion<span class="o">=</span><span class="nb">false</span> <span class="se">\</span>
-       --path-update<span class="o">=</span><span class="nb">false</span> <span class="se">\</span>
-       --usage-reporting<span class="o">=</span><span class="nb">false</span> <span class="se">\</span>
-       --additional-components alpha beta kubectl <span class="se">\</span>
-       --quiet <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> rm -rf <span class="s2">&quot;</span><span class="si">${</span><span class="nv">TMP_DIR</span><span class="si">}</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> rm -rf <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCLOUD_HOME</span><span class="si">}</span><span class="s2">/.install/.backup/&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> gcloud --version
-
-<span class="k">USER</span><span class="w"> </span><span class="s">${AIRFLOW_UID}</span>
-</pre></div>
-</div>
-</div>
-<p>Then build a new image.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker build . <span class="se">\</span>
-  --pull <span class="se">\</span>
-  --build-arg <span class="nv">BASE_AIRFLOW_IMAGE</span><span class="o">=</span><span class="s2">&quot;apache/airflow:2.0.2&quot;</span> <span class="se">\</span>
-  --tag my-airflow-image:0.0.1
-</pre></div>
-</div>
+  <div class="section" id="module-airflow.executors.executor_loader">
+<span id="airflow-executors-executor-loader"></span><h1><a class="reference internal" href="#module-airflow.executors.executor_loader" title="airflow.executors.executor_loader"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a><a class="headerlink" href="#module-airflow.executors.executor_loader" title="Permalink to this headline">¶</a></h1>
+<p>All executors.</p>
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource" title="airflow.executors.executor_loader.ConnectorSource"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ConnectorSource</span></code></a></p></td>
+<td><p>Enum of supported executor import sources.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader" title="airflow.executors.executor_loader.ExecutorLoader"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ExecutorLoader</span></code></a></p></td>
+<td><p>Keeps constants for all the currently available executors.</p></td>
+</tr>
+</tbody>
+</table>
 </div>
-<div class="section" id="apache-hadoop-stack-installation">
-<h2>Apache Hadoop Stack installation<a class="headerlink" href="#apache-hadoop-stack-installation" title="Permalink to this headline">¶</a></h2>
-<p>Airflow is often used to run tasks on Hadoop cluster. It required Java Runtime Environment (JRE) to run.
-Below are the steps to take tools that are frequently used in Hadoop-world:</p>
-<ul class="simple">
-<li><p>Java Runtime Environment (JRE)</p></li>
-<li><p>Apache Hadoop</p></li>
-<li><p>Apache Hive</p></li>
-<li><p><a class="reference external" href="https://cloud.google.com/dataproc/docs/concepts/connectors/cloud-storage">Cloud Storage connector for Apache Hadoop</a></p></li>
-</ul>
-<p>Create a new Dockerfile like the one shown below.</p>
-<div class="example-block-wrapper docutils container">
-<p class="example-header"><span class="example-title">docs/docker-stack/docker-images-recipes/hadoop.Dockerfile</span></p>
-<div class="highlight-dockerfile notranslate"><div class="highlight"><pre><span></span><span class="c"># Licensed to the Apache Software Foundation (ASF) under one or more</span>
-<span class="c"># contributor license agreements.  See the NOTICE file distributed with</span>
-<span class="c"># this work for additional information regarding copyright ownership.</span>
-<span class="c"># The ASF licenses this file to You under the Apache License, Version 2.0</span>
-<span class="c"># (the &quot;License&quot;); you may not use this file except in compliance with</span>
-<span class="c"># the License.  You may obtain a copy of the License at</span>
-<span class="c">#</span>
-<span class="c">#    http://www.apache.org/licenses/LICENSE-2.0</span>
-<span class="c">#</span>
-<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
-<span class="c"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
-<span class="c"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-<span class="c"># See the License for the specific language governing permissions and</span>
-<span class="c"># limitations under the License.</span>
-<span class="k">ARG</span><span class="w"> </span>BASE_AIRFLOW_IMAGE
-
-<span class="k">FROM</span><span class="w"> </span><span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-o&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;pipefail&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-e&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;-u&quot;</span><span class="p">,</sp [...]
-
-<span class="k">USER</span><span class="w"> </span><span class="s">0</span>
-
-<span class="c"># Install Java</span>
-<span class="k">RUN</span><span class="w"> </span>mkdir -pv /usr/share/man/man1 <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir -pv /usr/share/man/man7 <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fsSL https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public <span class="p">|</span> apt-key add - <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> <span class="nb">echo</span> <span class="s1">&#39;deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ buster main&#39;</span> &gt; <span class="se">\</span>
-        /etc/apt/sources.list.d/adoptopenjdk.list <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> apt-get update <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> apt-get install --no-install-recommends -y <span class="se">\</span>
-      adoptopenjdk-8-hotspot-jre <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> apt-get autoremove -yqq --purge <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> apt-get clean <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> rm -rf /var/lib/apt/lists/*
-<span class="k">ENV</span><span class="w"> </span><span class="nv">JAVA_HOME</span><span class="o">=</span>/usr/lib/jvm/adoptopenjdk-8-hotspot-jre-amd64
-
-<span class="k">RUN</span><span class="w"> </span>mkdir -p /opt/spark/jars
-
-<span class="c"># Install Apache Hadoop</span>
-<span class="k">ARG</span><span class="w"> </span><span class="nv">HADOOP_VERSION</span><span class="o">=</span><span class="m">2</span>.10.1
-<span class="k">ENV</span><span class="w"> </span><span class="nv">HADOOP_HOME</span><span class="o">=</span>/opt/hadoop
-<span class="k">ENV</span><span class="w"> </span><span class="nv">HADOOP_CONF_DIR</span><span class="o">=</span>/etc/hadoop
-<span class="k">ENV</span><span class="w"> </span><span class="nv">MULTIHOMED_NETWORK</span><span class="o">=</span><span class="m">1</span>
-<span class="k">ENV</span><span class="w"> </span><span class="nv">USER</span><span class="o">=</span>root
-
-<span class="k">RUN</span><span class="w"> </span><span class="nv">HADOOP_URL</span><span class="o">=</span><span class="s2">&quot;https://archive.apache.org/dist/hadoop/common/hadoop-</span><span class="nv">$HADOOP_VERSION</span><span class="s2">/hadoop-</span><span class="nv">$HADOOP_VERSION</span><span class="s2">.tar.gz&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl <span class="s1">&#39;https://dist.apache.org/repos/dist/release/hadoop/common/KEYS&#39;</span> <span class="p">|</span> gpg --import - <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fSL <span class="s2">&quot;</span><span class="nv">$HADOOP_URL</span><span class="s2">&quot;</span> -o /tmp/hadoop.tar.gz <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fSL <span class="s2">&quot;</span><span class="nv">$HADOOP_URL</span><span class="s2">.asc&quot;</span> -o /tmp/hadoop.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> gpg --verify /tmp/hadoop.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir -p <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HADOOP_HOME</span><span class="si">}</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> tar -xvf /tmp/hadoop.tar.gz -C <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HADOOP_HOME</span><span class="si">}</span><span class="s2">&quot;</span> --strip-components<span class="o">=</span><span class="m">1</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> rm /tmp/hadoop.tar.gz /tmp/hadoop.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> ln -s <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HADOOP_HOME</span><span class="si">}</span><span class="s2">/etc/hadoop&quot;</span> /etc/hadoop <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HADOOP_HOME</span><span class="si">}</span><span class="s2">/logs&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir /hadoop-data
-
-<span class="k">ENV</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="s2">&quot;</span><span class="nv">$HADOOP_HOME</span><span class="s2">/bin/:</span><span class="nv">$PATH</span><span class="s2">&quot;</span>
-
-<span class="c"># Install Apache Hive</span>
-<span class="k">ARG</span><span class="w"> </span><span class="nv">HIVE_VERSION</span><span class="o">=</span><span class="m">2</span>.3.7
-<span class="k">ENV</span><span class="w"> </span><span class="nv">HIVE_HOME</span><span class="o">=</span>/opt/hive
-<span class="k">ENV</span><span class="w"> </span><span class="nv">HIVE_CONF_DIR</span><span class="o">=</span>/etc/hive
-
-<span class="k">RUN</span><span class="w"> </span><span class="nv">HIVE_URL</span><span class="o">=</span><span class="s2">&quot;https://archive.apache.org/dist/hive/hive-</span><span class="si">${</span><span class="nv">HIVE_VERSION</span><span class="si">}</span><span class="s2">/apache-hive-</span><span class="si">${</span><span class="nv">HIVE_VERSION</span><span class="si">}</span><span class="s2">-bin.tar.gz&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fSL <span class="s1">&#39;https://downloads.apache.org/hive/KEYS&#39;</span> <span class="p">|</span> gpg --import - <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fSL <span class="s2">&quot;</span><span class="nv">$HIVE_URL</span><span class="s2">&quot;</span> -o /tmp/hive.tar.gz <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl -fSL <span class="s2">&quot;</span><span class="nv">$HIVE_URL</span><span class="s2">.asc&quot;</span> -o /tmp/hive.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> gpg --verify /tmp/hive.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir -p <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HIVE_HOME</span><span class="si">}</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> tar -xf /tmp/hive.tar.gz -C <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HIVE_HOME</span><span class="si">}</span><span class="s2">&quot;</span> --strip-components<span class="o">=</span><span class="m">1</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> rm /tmp/hive.tar.gz /tmp/hive.tar.gz.asc <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> ln -s <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HIVE_HOME</span><span class="si">}</span><span class="s2">/etc/hive&quot;</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HIVE_CONF_DIR</span><span class="si">}</span><span class="s2">&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> mkdir <span class="s2">&quot;</span><span class="si">${</span><span class="nv">HIVE_HOME</span><span class="si">}</span><span class="s2">/logs&quot;</span>
-
-<span class="k">ENV</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="s2">&quot;</span><span class="nv">$HIVE_HOME</span><span class="s2">/bin/:</span><span class="nv">$PATH</span><span class="s2">&quot;</span>
-
-<span class="c"># Install GCS connector for Apache Hadoop</span>
-<span class="c"># See: https://cloud.google.com/dataproc/docs/concepts/connectors/cloud-storage</span>
-<span class="k">ARG</span><span class="w"> </span><span class="nv">GCS_VARIANT</span><span class="o">=</span><span class="s2">&quot;hadoop2&quot;</span>
-<span class="k">ARG</span><span class="w"> </span><span class="nv">GCS_VERSION</span><span class="o">=</span><span class="s2">&quot;2.1.5&quot;</span>
-
-<span class="k">RUN</span><span class="w"> </span><span class="nv">GCS_JAR_PATH</span><span class="o">=</span><span class="s2">&quot;/opt/spark/jars/gcs-connector-</span><span class="si">${</span><span class="nv">GCS_VARIANT</span><span class="si">}</span><span class="s2">-</span><span class="si">${</span><span class="nv">GCS_VERSION</span><span class="si">}</span><span class="s2">.jar&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> <span class="nv">GCS_JAR_URL</span><span class="o">=</span><span class="s2">&quot;https://storage.googleapis.com/hadoop-lib/gcs/gcs-connector-</span><span class="si">${</span><span class="nv">GCS_VARIANT</span><span class="si">}</span><span class="s2">-</span><span class="si">${</span><span class="nv">GCS_VERSION</span><span class="si">}</span><span class="s2">.jar&quot;</span> <span class="se">\</span>
-    <span class="o">&amp;&amp;</span> curl <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCS_JAR_URL</span><span class="si">}</span><span class="s2">&quot;</span> -o <span class="s2">&quot;</span><span class="si">${</span><span class="nv">GCS_JAR_PATH</span><span class="si">}</span><span class="s2">&quot;</span>
-
-<span class="k">ENV</span><span class="w"> </span><span class="nv">HADOOP_CLASSPATH</span><span class="o">=</span><span class="s2">&quot;/opt/spark/jars/gcs-connector-</span><span class="si">${</span><span class="nv">GCS_VARIANT</span><span class="si">}</span><span class="s2">-</span><span class="si">${</span><span class="nv">GCS_VERSION</span><span class="si">}</span><span class="s2">.jar:</span><span class="nv">$HADOOP_CLASSPATH</span><span class="s2">&quot;</span>
-
-<span class="k">USER</span><span class="w"> </span><span class="s">${AIRFLOW_UID}</span>
-</pre></div>
-</div>
-</div>
-<p>Then build a new image.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker build . <span class="se">\</span>
-  --pull <span class="se">\</span>
-  --build-arg <span class="nv">BASE_AIRFLOW_IMAGE</span><span class="o">=</span><span class="s2">&quot;apache/airflow:2.0.2&quot;</span> <span class="se">\</span>
-  --tag my-airflow-image:0.0.1
-</pre></div>
+<div class="section" id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this headline">¶</a></h3>
+<table class="autosummary longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.executors.executor_loader.log" title="airflow.executors.executor_loader.log"><code class="xref py py-obj docutils literal notranslate"><span class="pre">log</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS" title="airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UNPICKLEABLE_EXECUTORS</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.executor_loader.log">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_loader.</span></span><span class="sig-name descname"><span class="pre">log</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#log"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.executor_loader.log" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.executors.executor_loader.ConnectorSource">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_loader.</span></span><span class="sig-name descname"><span class="pre">ConnectorSource</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#ConnectorSource"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.execu [...]
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/enum.html#enum.Enum" title="(in Python v3.10)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">enum.Enum</span></code></a></p>
+<p>Enum of supported executor import sources.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.executors.executor_loader.ConnectorSource.CORE">
+<span class="sig-name descname"><span class="pre">CORE</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">core</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#ConnectorSource.CORE"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.executor_loader.ConnectorSource.CORE" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.executors.executor_loader.ConnectorSource.PLUGIN">
+<span class="sig-name descname"><span class="pre">PLUGIN</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">plugin</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#ConnectorSource.PLUGIN"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.executor_loader.ConnectorSource.PLUGIN" title="Permalink to this definition [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.executors.executor_loader.ConnectorSource.CUSTOM_PATH">
+<span class="sig-name descname"><span class="pre">CUSTOM_PATH</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">custom</span> <span class="pre">path</span></em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#ConnectorSource.CUSTOM_PATH"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.executor_loader.ConnectorSource.CUS [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.executors.executor_loader.ExecutorLoader">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_loader.</span></span><span class="sig-name descname"><span class="pre">ExecutorLoader</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#ExecutorLoader"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executo [...]
+<dd><p>Keeps constants for all the currently available executors.</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.executors.executor_loader.ExecutorLoader.executors">
+<span class="sig-name descname"><span class="pre">executors</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#ExecutorLoader.executors"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.executor_loader.ExecutorLoader.executors" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.executor_loader.ExecutorLoader.get_default_executor">
+<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_default_executor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cls</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#ExecutorLoader.get_default_executor"><span class="viewcode-link"><span class="pre">[ [...]
+<dd><p>Creates a new instance of the configured executor if none exists and returns it</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.executor_loader.ExecutorLoader.load_executor">
+<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">load_executor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cls</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">executor_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#E [...]
+<dd><p>Loads the executor.</p>
+<p>This supports the following formats:
+* by executor name for core executor
+* by <code class="docutils literal notranslate"><span class="pre">{plugin_name}.{class_name}</span></code> for executor from plugins
+* by import path.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>an instance of executor class via executor_name</p>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p><a class="reference internal" href="../base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor">airflow.executors.base_executor.BaseExecutor</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.executors.executor_loader.ExecutorLoader.import_executor_cls">
+<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">import_executor_cls</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cls</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">executor_name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader. [...]
+<dd><p>Imports the executor class.</p>
+<p>Supports the same formats as ExecutorLoader.load_executor.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>executor class via executor_name and executor import source</p>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p>Tuple[Type[<a class="reference internal" href="../base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor">airflow.executors.base_executor.BaseExecutor</a>], <a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource" title="airflow.executors.executor_loader.ConnectorSource">ConnectorSource</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS">
+<span class="sig-prename descclassname"><span class="pre">airflow.executors.executor_loader.</span></span><span class="sig-name descname"><span class="pre">UNPICKLEABLE_EXECUTORS</span></span><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#UNPICKLEABLE_EXECUTORS"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS" title="Permalink to t [...]
+<dd></dd></dl>
+
 </div>
 </div>
 </div>
 
 
     <div class="pager" role="navigation" aria-label="related navigation">
-            <a rel="prev" title="Entrypoint" href="entrypoint.html" >
+            <a rel="prev" title="airflow.executors.executor_constants" href="../executor_constants/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
             </a>
-            <a rel="next" title="Image build arguments reference" href="build-arg-ref.html" >
+            <a rel="next" title="airflow.executors.kubernetes_executor" href="../kubernetes_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
             </a>
     </div>
@@ -806,9 +955,29 @@ Below are the steps to take tools that are frequently used in Hadoop-world:</p>
     <nav class="wy-nav-side-toc">
         <div class="wy-menu-vertical">
             <ul>
-<li><a class="reference internal" href="#">Recipes</a><ul>
-<li><a class="reference internal" href="#google-cloud-sdk-installation">Google Cloud SDK installation</a></li>
-<li><a class="reference internal" href="#apache-hadoop-stack-installation">Apache Hadoop Stack installation</a></li>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a></li>
+<li><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.log">log</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource">ConnectorSource</a><ul>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource.CORE">CORE</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource.PLUGIN">PLUGIN</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ConnectorSource.CUSTOM_PATH">CUSTOM_PATH</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader">ExecutorLoader</a><ul>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.executors">executors</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.get_default_executor">get_default_executor</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.load_executor">load_executor</a></li>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.import_executor_cls">import_executor_cls</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS">UNPICKLEABLE_EXECUTORS</a></li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -833,7 +1002,7 @@ Below are the steps to take tools that are frequently used in Hadoop-world:</p>
             
         
         <div class="base-layout--button">
-            <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/recipes.rst" rel="nofollow">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/executors/executor_loader/index.rst" rel="nofollow">
 
                 <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
                     <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -967,16 +1136,17 @@ Below are the steps to take tools that are frequently used in Hadoop-world:</p>
         </span>
     </div>
 </footer>
-    <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
-    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+    <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
-        <script src="_static/jquery.js"></script>
-        <script src="_static/underscore.js"></script>
-        <script src="_static/doctools.js"></script>
-        <script src="_static/clipboard.min.js"></script>
-        <script src="_static/copybutton.js"></script>
+        <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+        <script src="../../../../_static/jquery.js"></script>
+        <script src="../../../../_static/underscore.js"></script>
+        <script src="../../../../_static/doctools.js"></script>
+        <script src="../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../_static/copybutton.js"></script>
+        <script src="../../../../_static/gh-jira-links.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/index.html b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/index.html
similarity index 76%
copy from docs-archive/docker-stack/index.html
copy to docs-archive/apache-airflow/2.3.0/_api/airflow/executors/index.html
index 9e6395cf0..e620aafcb 100644
--- a/docs-archive/docker-stack/index.html
+++ b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/index.html
@@ -9,31 +9,35 @@
 <head>
         <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1">
-        <title>Docker Image for Apache Airflow &mdash; docker-stack Documentation</title>
-    <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
-            <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
-            <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
-            <link rel="shortcut icon" href="_static/pin_32.png"/>
-            <link rel="index" title="Index" href="genindex.html" />
-            <link rel="search" title="Search" href="search.html" />
-            <link rel="next" title="Building the image" href="build.html" />
-<!-- Matomo -->
-<script>
-  var _paq = window._paq = window._paq || [];
-  _paq.push(['disableCookies']);
-  _paq.push(['trackPageView']);
-  _paq.push(['enableLinkTracking']);
-  (function() {
-    var u="https://analytics.apache.org/";
-    _paq.push(['setTrackerUrl', u+'matomo.php']);
-    _paq.push(['setSiteId', '13']);
-    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
-  })();
-</script>
-<!-- End Matomo -->
+        <title>airflow.executors &mdash; Airflow Documentation</title>
+    <link rel="stylesheet" href="../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../search.html" />
+            <link rel="next" title="airflow.executors.base_executor" href="base_executor/index.html" />
+            <link rel="prev" title="airflow.hooks.zendesk_hook" href="../hooks/zendesk_hook/index.html" />
+    <!-- Matomo -->
+    <script>
+        var _paq = window._paq = window._paq || [];
+        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+        /* We explicitly disable cookie tracking to avoid privacy issues */
+        _paq.push(['disableCookies']);
+        _paq.push(['trackPageView']);
+        _paq.push(['enableLinkTracking']);
+        (function() {
+        var u="https://analytics.apache.org/";
+        _paq.push(['setTrackerUrl', u+'matomo.php']);
+        _paq.push(['setSiteId', '13']);
+        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+        })();
+    </script>
+    <!-- End Matomo Code -->
 
     
 </head><body class="td-section">
@@ -277,8 +281,21 @@
             <div class="content-drawer">
                 <div class="td-sidebar">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -308,15 +325,82 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../privacy_notice.html">Privacy Notice</a></li>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#submodules">Submodules</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -397,8 +481,21 @@
             
     <div class="td-sidebar desktop-only d-print-none">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -428,15 +525,82 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1"><a class="reference internal" href="entrypoint.html">Entrypoint</a></li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../privacy_notice.html">Privacy Notice</a></li>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#submodules">Submodules</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -525,9 +689,11 @@
 
     <ul class="breadcrumb">
         
-            <li class="breadcrumb-item"><a href="#" class="icon icon-home"> Home</a></li>
+            <li class="breadcrumb-item"><a href="../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../../../python-api-ref.html">Python API Reference</a></li>
             
-            <li class="breadcrumb-item"><a href="index.html"> Docker Image for Apache Airflow</a></li>
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
         
     </ul>
 </div>
@@ -538,60 +704,35 @@
                                 <div class="bodywrapper">
                                     <div class="body" role="main">
                                         
-  <blockquote>
-<div></div></blockquote>
-<a class="reference internal image-reference" href="_images/docker-logo.png"><img alt="_images/docker-logo.png" src="_images/docker-logo.png" style="width: 100px;" /></a>
-<div class="section" id="docker-image-for-apache-airflow">
-<h1>Docker Image for Apache Airflow<a class="headerlink" href="#docker-image-for-apache-airflow" title="Permalink to this headline">¶</a></h1>
-<div class="toctree-wrapper compound">
-</div>
+  <div class="section" id="module-airflow.executors">
+<span id="airflow-executors"></span><h1><a class="reference internal" href="#module-airflow.executors" title="airflow.executors"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><a class="headerlink" href="#module-airflow.executors" title="Permalink to this headline">¶</a></h1>
+<p>Executors.</p>
+<div class="section" id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
 <div class="toctree-wrapper compound">
-</div>
-<p>For the ease of deployment in production, the community releases a production-ready reference container
-image.</p>
-<p>The Apache Airflow community, releases Docker Images which are <code class="docutils literal notranslate"><span class="pre">reference</span> <span class="pre">images</span></code> for Apache Airflow.
-Every time a new version of Airflow is released, the images are prepared in the
-<a class="reference external" href="https://hub.docker.com/r/apache/airflow">apache/airflow DockerHub</a>
-for all the supported Python versions.</p>
-<p>You can find the following images there (Assuming Airflow version <code class="code docutils literal notranslate"><span class="pre">2.2.5</span></code>):</p>
-<ul class="simple">
-<li><p><code class="code docutils literal notranslate"><span class="pre">apache/airflow:latest</span></code>              - the latest released Airflow image with default Python version (3.7 currently)</p></li>
-<li><p><code class="code docutils literal notranslate"><span class="pre">apache/airflow:latest-pythonX.Y</span></code>    - the latest released Airflow image with specific Python version</p></li>
-<li><p><code class="code docutils literal notranslate"><span class="pre">apache/airflow:2.2.5</span></code>           - the versioned Airflow image with default Python version (3.7 currently)</p></li>
-<li><p><code class="code docutils literal notranslate"><span class="pre">apache/airflow:2.2.5-pythonX.Y</span></code> - the versioned Airflow image with specific Python version</p></li>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
 </ul>
-<p>Those are &quot;reference&quot; images. They contain the most common set of extras, dependencies and providers that are
-often used by the users and they are good to &quot;try-things-out&quot; when you want to just take airflow for a spin,</p>
-<p>The Apache Airflow image provided as convenience package is optimized for size, and
-it provides just a bare minimal set of the extras and dependencies installed and in most cases
-you want to either extend or customize the image. You can see all possible extras in <a class="reference external" href="/docs/apache-airflow/stable/extra-packages-ref.html" title="(in apache-airflow v2.3.0.dev0)"><span>Reference for package extras</span></a>.
-The set of extras used in Airflow Production image are available in the
-<a class="reference external" href="https://github.com/apache/airflow/blob/2c6c7fdb2308de98e142618836bdf414df9768c8/Dockerfile#L37">Dockerfile</a>.</p>
-<p>However, Airflow has more than 60 community-managed providers (installable via extras) and some of the
-default extras/providers installed are not used by everyone, sometimes others extras/providers
-are needed, sometimes (very often actually) you need to add your own custom dependencies,
-packages or even custom providers. You can learn how to do it in <a class="reference internal" href="build.html#build-build-image"><span class="std std-ref">Building the image</span></a>.</p>
-<p>The production images are build in DockerHub from released version and release candidates. There
-are also images published from branches but they are used mainly for development and testing purpose.
-See <a class="reference external" href="https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#airflow-git-branches">Airflow Git Branching</a>
-for details.</p>
 </div>
-<div class="section" id="usage">
-<h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1>
-<p>The <span class="target" id="index-0"></span><a class="reference external" href="/docs/apache-airflow/stable/cli-and-env-variables-ref.html#envvar-AIRFLOW_HOME" title="(in apache-airflow v2.3.0.dev0)"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">AIRFLOW_HOME</span></code></a> is set by default to <code class="docutils literal notranslate"><span class="pre">/opt/airflow/</span></code> - this means that DAGs
-are in default in the <code class="docutils literal notranslate"><span class="pre">/opt/airflow/dags</span></code> folder and logs are in the <code class="docutils literal notranslate"><span class="pre">/opt/airflow/logs</span></code></p>
-<p>The working directory is <code class="docutils literal notranslate"><span class="pre">/opt/airflow</span></code> by default.</p>
-<p>If no <span class="target" id="index-1"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">AIRFLOW__CORE__SQL_ALCHEMY_CONN</span></code> variable is set then SQLite database is created in
-<code class="docutils literal notranslate"><span class="pre">${AIRFLOW_HOME}/airflow.db</span></code>.</p>
-<p>For example commands that start Airflow see: <a class="reference internal" href="entrypoint.html#entrypoint-commands"><span class="std std-ref">Executing commands</span></a>.</p>
-<p>Airflow requires many components to function as it is a distributed application. You may therefore also be interested
-in launching Airflow in the Docker Compose environment, see: <a class="reference external" href="/docs/apache-airflow/stable/start/index.html" title="(in apache-airflow v2.3.0.dev0)"><span>Quick Start</span></a>.</p>
-<p>You can use this image in <a class="reference external" href="/docs/helm-chart/stable/index.html" title="(in helm-chart v1.6.0-dev)"><span class="xref std std-doc">Helm Chart</span></a> as well.</p>
+</div>
 </div>
 
 
-    <div class="pager" role="navigation" aria-label="related navigation"><button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" disabled>Previous</button>
-            <a rel="next" title="Building the image" href="build.html" >
+    <div class="pager" role="navigation" aria-label="related navigation">
+            <a rel="prev" title="airflow.hooks.zendesk_hook" href="../hooks/zendesk_hook/index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
+            </a>
+            <a rel="next" title="airflow.executors.base_executor" href="base_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
             </a>
     </div>
@@ -661,10 +802,10 @@ in launching Airflow in the Docker Compose environment, see: <a class="reference
     <nav class="wy-nav-side-toc">
         <div class="wy-menu-vertical">
             <ul>
-<li><a class="reference internal" href="#">Docker Image for Apache Airflow</a><ul>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul>
+<li><a class="reference internal" href="#submodules">Submodules</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#usage">Usage</a></li>
 </ul>
 
         </div>
@@ -687,7 +828,7 @@ in launching Airflow in the Docker Compose environment, see: <a class="reference
             
         
         <div class="base-layout--button">
-            <a href="https://github.com/apache/airflow/edit/main/docs/docker-stack/index.rst" rel="nofollow">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow/_api/airflow/executors/index.rst" rel="nofollow">
 
                 <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
                     <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
@@ -821,16 +962,17 @@ in launching Airflow in the Docker Compose environment, see: <a class="reference
         </span>
     </div>
 </footer>
-    <script type="text/javascript" src="_static/_gen/js/docs.js"></script>
-    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+    <script type="text/javascript" src="../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
     <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
-        <script src="_static/jquery.js"></script>
-        <script src="_static/underscore.js"></script>
-        <script src="_static/doctools.js"></script>
-        <script src="_static/clipboard.min.js"></script>
-        <script src="_static/copybutton.js"></script>
+        <script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
+        <script src="../../../_static/jquery.js"></script>
+        <script src="../../../_static/underscore.js"></script>
+        <script src="../../../_static/doctools.js"></script>
+        <script src="../../../_static/clipboard.min.js"></script>
+        <script src="../../../_static/copybutton.js"></script>
+        <script src="../../../_static/gh-jira-links.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs-archive/docker-stack/entrypoint.html b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/kubernetes_executor/index.html
similarity index 54%
copy from docs-archive/docker-stack/entrypoint.html
copy to docs-archive/apache-airflow/2.3.0/_api/airflow/executors/kubernetes_executor/index.html
index 4f84ce01b..9de4661cf 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/apache-airflow/2.3.0/_api/airflow/executors/kubernetes_executor/index.html
@@ -9,32 +9,35 @@
 <head>
         <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1">
-        <title>Entrypoint &mdash; docker-stack Documentation</title>
-    <link rel="stylesheet" href="_static/_gen/css/main.min.css" type="text/css" />
-            <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main.min.css" />
-            <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
-            <link rel="stylesheet" type="text/css" href="_static/_gen/css/main-custom.min.css" />
-            <link rel="shortcut icon" href="_static/pin_32.png"/>
-            <link rel="index" title="Index" href="genindex.html" />
-            <link rel="search" title="Search" href="search.html" />
-            <link rel="next" title="Recipes" href="recipes.html" />
-            <link rel="prev" title="Building the image" href="build.html" />
-<!-- Matomo -->
-<script>
-  var _paq = window._paq = window._paq || [];
-  _paq.push(['disableCookies']);
-  _paq.push(['trackPageView']);
-  _paq.push(['enableLinkTracking']);
-  (function() {
-    var u="https://analytics.apache.org/";
-    _paq.push(['setTrackerUrl', u+'matomo.php']);
-    _paq.push(['setSiteId', '13']);
-    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
-  })();
-</script>
-<!-- End Matomo -->
+        <title>airflow.executors.kubernetes_executor &mdash; Airflow Documentation</title>
+    <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../search.html" />
+            <link rel="next" title="airflow.executors.local_executor" href="../local_executor/index.html" />
+            <link rel="prev" title="airflow.executors.executor_loader" href="../executor_loader/index.html" />
+    <!-- Matomo -->
+    <script>
+        var _paq = window._paq = window._paq || [];
+        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+        /* We explicitly disable cookie tracking to avoid privacy issues */
+        _paq.push(['disableCookies']);
+        _paq.push(['trackPageView']);
+        _paq.push(['enableLinkTracking']);
+        (function() {
+        var u="https://analytics.apache.org/";
+        _paq.push(['setTrackerUrl', u+'matomo.php']);
+        _paq.push(['setSiteId', '13']);
+        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+        })();
+    </script>
+    <!-- End Matomo Code -->
 
     
 </head><body class="td-section">
@@ -278,8 +281,21 @@
             <div class="content-drawer">
                 <div class="td-sidebar">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -309,30 +325,127 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Entrypoint</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#allowing-arbitrary-user-to-run-the-container">Allowing arbitrary user to run the container</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-airflow-db-connection">Waits for Airflow DB connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-celery-broker-connection">Waits for celery broker connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#executing-commands">Executing commands</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#execute-custom-code-before-the-airflow-entrypoint">Execute custom code before the Airflow entrypoint</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#adding-custom-image-behaviour">Adding custom image behaviour</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#signal-propagation">Signal propagation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#additional-quick-test-options">Additional quick test options</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#upgrading-airflow-db">Upgrading Airflow DB</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#creating-admin-user">Creating admin user</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#installing-additional-requirements">Installing additional requirements</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobType">KubernetesJobType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesResultsType">KubernetesResultsType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesWatchType">KubernetesWatchType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion">ResourceVersion</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion.resource_version">resource_version</a></li>
 </ul>
 </li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher">KubernetesJobWatcher</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.run">run</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.process_error">process_error</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.process_status">process_status</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler">AirflowKubernetesScheduler</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_pod_async">run_pod_async</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next">run_next</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod">delete_pod</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task">process_watcher_task</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate">terminate</a></li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.get_base_pod_from_template">get_base_pod_from_template</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor">KubernetesExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.supports_ad_hoc_ti_run">supports_ad_hoc_ti_run</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">clear_not_launched_queued_tasks</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.start">start</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.execute_async">execute_async</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.adopt_launched_task">adopt_launched_task</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.terminate">terminate</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -413,8 +526,21 @@
             
     <div class="td-sidebar desktop-only d-print-none">
 
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.3.0.dev0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
 <div class="searchb-box">
-    <form class="search-form" action="search.html" method="get">
+    <form class="search-form" action="../../../../search.html" method="get">
         <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
         <input type="hidden" name="check_keywords" value="yes" />
         <input type="hidden" name="area" value="default" />
@@ -444,30 +570,127 @@
 
 
 <div class="toctree" role="navigation" aria-label="main navigation">
-    <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="index.html">Home</a></li>
-<li class="toctree-l1"><a class="reference internal" href="build.html">Building the image</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Entrypoint</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#allowing-arbitrary-user-to-run-the-container">Allowing arbitrary user to run the container</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-airflow-db-connection">Waits for Airflow DB connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#waits-for-celery-broker-connection">Waits for celery broker connection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#executing-commands">Executing commands</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#execute-custom-code-before-the-airflow-entrypoint">Execute custom code before the Airflow entrypoint</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#adding-custom-image-behaviour">Adding custom image behaviour</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#signal-propagation">Signal propagation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#additional-quick-test-options">Additional quick test options</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#upgrading-airflow-db">Upgrading Airflow DB</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#creating-admin-user">Creating admin user</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#installing-additional-requirements">Installing additional requirements</a></li>
+    <p class="caption" role="heading"><span class="caption-text">Content</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../project.html">Project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../start/index.html">Quick Start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../upgrading-from-1-10/index.html">Upgrading from 1.10 to 2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../tutorial_taskflow_api.html">Tutorial on the TaskFlow API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../howto/index.html">How-to Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../ui.html">UI / Screenshots</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../concepts/index.html">Concepts</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../executor/index.html">Executor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-run.html">DAG Runs</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../plugins.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../security/index.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging-monitoring/index.html">Logging &amp; Monitoring</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../timezone.html">Time Zones</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../usage-cli.html">Using the CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../integration.html">Integration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../kubernetes.html">Kubernetes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../lineage.html">Lineage</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../listeners.html">Listeners</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../dag-serialization.html">DAG Serialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../modules_management.html">Modules Management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release-process.html">Release Policies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../release_notes.html">Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../best-practices.html">Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../production-deployment.html">Production Deployment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../faq.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../privacy_notice.html">Privacy Notice</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../../operators-and-hooks-ref.html">Operators and hooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../cli-and-env-variables-ref.html">CLI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../templates-ref.html">Templates</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../../../python-api-ref.html">Python API</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#dags">DAGs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#hooks">Hooks</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../../../../python-api-ref.html#executors">Executors</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../../../../python-api-ref.html#executors-packages">Executors packages</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a><ul class="current">
+<li class="toctree-l5 current"><a class="reference internal" href="../index.html#submodules">Submodules</a><ul class="current">
+<li class="toctree-l6"><a class="reference internal" href="../base_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.base_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../celery_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.celery_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../dask_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.dask_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../debug_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.debug_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_constants/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_constants</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../executor_loader/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.executor_loader</span></code></a></li>
+<li class="toctree-l6 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a><ul>
+<li class="toctree-l7"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li class="toctree-l8"><a class="reference internal" href="#classes">Classes</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#functions">Functions</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobType">KubernetesJobType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesResultsType">KubernetesResultsType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesWatchType">KubernetesWatchType</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion">ResourceVersion</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion.resource_version">resource_version</a></li>
 </ul>
 </li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher">KubernetesJobWatcher</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.run">run</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.process_error">process_error</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.process_status">process_status</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler">AirflowKubernetesScheduler</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_pod_async">run_pod_async</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next">run_next</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod">delete_pod</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task">process_watcher_task</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate">terminate</a></li>
 </ul>
-<p class="caption" role="heading"><span class="caption-text">References</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+</li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.get_base_pod_from_template">get_base_pod_from_template</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor">KubernetesExecutor</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.supports_ad_hoc_ti_run">supports_ad_hoc_ti_run</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">clear_not_launched_queued_tasks</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.start">start</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.execute_async">execute_async</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.sync">sync</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.adopt_launched_task">adopt_launched_task</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.end">end</a></li>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.terminate">terminate</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l6"><a class="reference internal" href="../local_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../local_kubernetes_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_kubernetes_executor</span></code></a></li>
+<li class="toctree-l6"><a class="reference internal" href="../sequential_executor/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.sequential_executor</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#models">Models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#exceptions">Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#secrets-backends">Secrets Backends</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../python-api-ref.html#timetables">Timetables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../stable-rest-api-ref.html">Stable REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../deprecated-rest-api-ref.html">Deprecated REST API</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../configurations-ref.html">Configurations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../extra-packages-ref.html">Extra packages</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../migrations-ref.html">Database Migrations</a></li>
 </ul>
 
 </div>
@@ -556,9 +779,13 @@
 
     <ul class="breadcrumb">
         
-            <li class="breadcrumb-item"><a href="index.html" class="icon icon-home"> Home</a></li>
+            <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../../../../python-api-ref.html">Python API Reference</a></li>
             
-            <li class="breadcrumb-item"><a href="entrypoint.html"> Entrypoint</a></li>
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a></li>
         
     </ul>
 </div>
@@ -569,390 +796,326 @@
                                 <div class="bodywrapper">
                                     <div class="body" role="main">
                                         
-  <blockquote>
-<div></div></blockquote>
-<div class="section" id="entrypoint">
-<h1>Entrypoint<a class="headerlink" href="#entrypoint" title="Permalink to this headline">¶</a></h1>
-<p>If you are using the default entrypoint of the production image,
-there are a few actions that are automatically performed when the container starts.
-In some cases, you can pass environment variables to the image to trigger some of that behaviour.</p>
-<p>The variables that control the &quot;execution&quot; behaviour start with <code class="docutils literal notranslate"><span class="pre">_AIRFLOW</span></code> to distinguish them
-from the variables used to build the image starting with <code class="docutils literal notranslate"><span class="pre">AIRFLOW</span></code>.</p>
-<div class="section" id="allowing-arbitrary-user-to-run-the-container">
-<span id="arbitrary-docker-user"></span><h2>Allowing arbitrary user to run the container<a class="headerlink" href="#allowing-arbitrary-user-to-run-the-container" title="Permalink to this headline">¶</a></h2>
-<p>Airflow image is Open-Shift compatible, which means that you can start it with random user ID and the
-group id <code class="docutils literal notranslate"><span class="pre">0</span></code> (<code class="docutils literal notranslate"><span class="pre">root</span></code>). If you want to run the image with user different than Airflow, you MUST set
-GID of the user to <code class="docutils literal notranslate"><span class="pre">0</span></code>. In case you try to use different group, the entrypoint exits with error.</p>
-<p>OpenShift randomly assigns UID when it starts the container, but you can utilise this flexible UID
-also in case of running the image manually. This might be useful for example in case you want to
-mount <code class="docutils literal notranslate"><span class="pre">dag</span></code> and <code class="docutils literal notranslate"><span class="pre">logs</span></code> folders from host system on Linux, in which case the UID should be set
-the same ID as your host user.</p>
-<p>This can be achieved in various ways - you can change USER when you extend or customize the image or
-you can dynamically pass the user to  <code class="docutils literal notranslate"><span class="pre">docker</span> <span class="pre">run</span></code> command, by adding <code class="docutils literal notranslate"><span class="pre">--user</span></code> flag in one of
-those formats (See <a class="reference external" href="https://docs.docker.com/engine/reference/run/#user">Docker Run reference</a> for details):</p>
-<p><code class="docutils literal notranslate"><span class="pre">`</span>
-<span class="pre">[</span> <span class="pre">user</span> <span class="pre">|</span> <span class="pre">user:group</span> <span class="pre">|</span> <span class="pre">uid</span> <span class="pre">|</span> <span class="pre">uid:gid</span> <span class="pre">|</span> <span class="pre">user:gid</span> <span class="pre">|</span> <span class="pre">uid:group</span> <span class="pre">]</span>
-<span class="pre">`</span></code></p>
-<p>In case of Docker Compose environment it can be changed via <code class="docutils literal notranslate"><span class="pre">user:</span></code> entry in the <code class="docutils literal notranslate"><span class="pre">docker-compose.yaml</span></code>.
-See <a class="reference external" href="https://docs.docker.com/compose/compose-file/compose-file-v3/#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir">Docker compose reference</a>
-for details. In our Quickstart Guide using Docker-Compose, the UID can be passed via the
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code> variable as described in
-<a class="reference external" href="/docs/apache-airflow/stable/start/docker.html#initializing-docker-compose-environment" title="(in apache-airflow v2.3.0.dev0)"><span class="xref std std-ref">Initializing docker compose environment</span></a>.</p>
-<p>The user can be any UID. In case UID is different than the default
-<code class="docutils literal notranslate"><span class="pre">airflow</span></code> (UID=50000), the user will be automatically created when entering the container.</p>
-<p>In order to accommodate a number of external libraries and projects, Airflow will automatically create
-such an arbitrary user in (<cite>/etc/passwd</cite>) and make it's home directory point to <code class="docutils literal notranslate"><span class="pre">/home/airflow</span></code>.
-Many of 3rd-party libraries and packages require home directory of the user to be present, because they
-need to write some cache information there, so such a dynamic creation of a user is necessary.</p>
-<p>Such arbitrary user has to be able to write to certain directories that needs write access, and since
-it is not advised to allow write access to &quot;other&quot; for security reasons, the OpenShift
-guidelines introduced the concept of making all such folders have the <code class="docutils literal notranslate"><span class="pre">0</span></code> (<code class="docutils literal notranslate"><span class="pre">root</span></code>) group id (GID).
-All the directories that need write access in the Airflow production image have GID set to 0 (and
-they are writable for the group). We are following that concept and all the directories that need
-write access follow that.</p>
-<p>The GID=0 is set as default for the <code class="docutils literal notranslate"><span class="pre">airflow</span></code> user, so any directories it creates have GID set to 0
-by default. The entrypoint sets <code class="docutils literal notranslate"><span class="pre">umask</span></code> to be <code class="docutils literal notranslate"><span class="pre">0002</span></code> - this means that any directories created by
-the user have also &quot;group write&quot; access for group <code class="docutils literal notranslate"><span class="pre">0</span></code> - they will be writable by other users with
-<code class="docutils literal notranslate"><span class="pre">root</span></code> group. Also whenever any &quot;arbitrary&quot; user creates a folder (for example in a mounted volume), that
-folder will have a &quot;group write&quot; access and <code class="docutils literal notranslate"><span class="pre">GID=0</span></code>, so that execution with another, arbitrary user
-will still continue to work, even if such directory is mounted by another arbitrary user later.</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">umask</span></code> setting however only works for runtime of the container - it is not used during building of
-the image. If you would like to extend the image and add your own packages, you should remember to add
-<code class="docutils literal notranslate"><span class="pre">umask</span> <span class="pre">0002</span></code> in front of your docker command - this way the directories created by any installation
-that need group access will also be writable for the group. This can be done for example this way:</p>
-<blockquote>
-<div><div class="highlight-docker notranslate"><div class="highlight"><pre><span></span><span class="k">RUN</span><span class="w"> </span><span class="nb">umask</span> <span class="m">0002</span><span class="p">;</span> <span class="se">\</span>
-    do_something<span class="p">;</span> <span class="se">\</span>
-    do_otherthing<span class="p">;</span>
-</pre></div>
-</div>
-</div></blockquote>
-<p>You can read more about it in the &quot;Support arbitrary user ids&quot; chapter in the
-<a class="reference external" href="https://docs.openshift.com/container-platform/4.7/openshift_images/create-images.html#images-create-guide-openshift_create-images">Openshift best practices</a>.</p>
-</div>
-<div class="section" id="waits-for-airflow-db-connection">
-<h2>Waits for Airflow DB connection<a class="headerlink" href="#waits-for-airflow-db-connection" title="Permalink to this headline">¶</a></h2>
-<p>The entrypoint is waiting for a connection to the database independent of the database engine. This allows us to increase
-the stability of the environment.</p>
-<p>Waiting for connection involves executing <code class="docutils literal notranslate"><span class="pre">airflow</span> <span class="pre">db</span> <span class="pre">check</span></code> command, which means that a <code class="docutils literal notranslate"><span class="pre">select</span> <span class="pre">1</span> <span class="pre">as</span> <span class="pre">is_alive;</span></code> statement
-is executed. Then it loops until the the command will be successful.
-It tries <span class="target" id="index-0"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT</span></code> times and sleeps <span class="target" id="index-1"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_SLEEP_TIME</span></code> between checks
-To disable check, set <code class="docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT=0</span></code>.</p>
-</div>
-<div class="section" id="waits-for-celery-broker-connection">
-<h2>Waits for celery broker connection<a class="headerlink" href="#waits-for-celery-broker-connection" title="Permalink to this headline">¶</a></h2>
-<p>In case CeleryExecutor is used, and one of the <code class="docutils literal notranslate"><span class="pre">scheduler</span></code>, <code class="docutils literal notranslate"><span class="pre">celery</span></code>
-commands are used the entrypoint will wait until the celery broker DB connection is available.</p>
-<p>The script detects backend type depending on the URL schema and assigns default port numbers if not specified
-in the URL. Then it loops until connection to the host/port specified can be established
-It tries <span class="target" id="index-2"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT</span></code> times and sleeps <span class="target" id="index-3"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CONNECTION_CHECK_SLEEP_TIME</span></code> between checks.
-To disable check, set <code class="docutils literal notranslate"><span class="pre">CONNECTION_CHECK_MAX_COUNT=0</span></code>.</p>
-<p>Supported schemes:</p>
-<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">amqp(s)://</span></code>  (rabbitmq) - default port 5672</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">redis://</span></code>               - default port 6379</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">postgres://</span></code>            - default port 5432</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">mysql://</span></code>               - default port 3306</p></li>
-</ul>
-<p>Waiting for connection involves checking if a matching port is open. The host information is derived from the Airflow configuration.</p>
-</div>
-<div class="section" id="executing-commands">
-<span id="entrypoint-commands"></span><h2>Executing commands<a class="headerlink" href="#executing-commands" title="Permalink to this headline">¶</a></h2>
-<p>If first argument equals to &quot;bash&quot; - you are dropped to a bash shell or you can executes bash command
-if you specify extra arguments. For example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it apache/airflow:2.2.5-python3.6 bash -c <span class="s2">&quot;ls -la&quot;</span>
-total <span class="m">16</span>
-drwxr-xr-x <span class="m">4</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 .
-drwxr-xr-x <span class="m">1</span> root    root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 ..
-drwxr-xr-x <span class="m">2</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 dags
-drwxr-xr-x <span class="m">2</span> airflow root <span class="m">4096</span> Jun  <span class="m">5</span> <span class="m">18</span>:12 logs
-</pre></div>
-</div>
-<p>If first argument is equal to <code class="docutils literal notranslate"><span class="pre">python</span></code> - you are dropped in python shell or python commands are executed if
-you pass extra parameters. For example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.2.5-python3.6 python -c <span class="s2">&quot;print(&#39;test&#39;)&quot;</span>
-<span class="nb">test</span>
-</pre></div>
-</div>
-<p>If first argument equals to &quot;airflow&quot; - the rest of the arguments is treated as an airflow command
-to execute. Example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -it apache/airflow:2.2.5-python3.6 airflow webserver
-</pre></div>
-</div>
-<p>If there are any other arguments - they are simply passed to the &quot;airflow&quot; command</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.2.5-python3.6 <span class="nb">help</span>
-  usage: airflow <span class="o">[</span>-h<span class="o">]</span> GROUP_OR_COMMAND ...
-
-  positional arguments:
-    GROUP_OR_COMMAND
-
-      Groups:
-        celery         Celery components
-        config         View configuration
-        connections    Manage connections
... 378849 lines suppressed ...