You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ka...@apache.org on 2021/09/18 22:01:30 UTC

[airflow-site] branch main updated: Add documentation for Apache Airflow 2.1.4 (#479)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new 6bc10ef  Add documentation for Apache Airflow 2.1.4 (#479)
6bc10ef is described below

commit 6bc10ef718ddd7930196d9cd0ca73b2db6de4352
Author: Kaxil Naik <ka...@gmail.com>
AuthorDate: Sat Sep 18 23:01:26 2021 +0100

    Add documentation for Apache Airflow 2.1.4 (#479)
---
 docs-archive/apache-airflow/2.1.4/.buildinfo       |     4 +
 .../2.1.4/_api/airflow/exceptions/index.html}      |  1105 +-
 .../airflow/executors/base_executor/index.html}    |   891 +-
 .../airflow/executors/celery_executor/index.html}  |  1081 +-
 .../celery_kubernetes_executor/index.html}         |   704 +-
 .../airflow/executors/dask_executor/index.html}    |   512 +-
 .../airflow/executors/debug_executor/index.html}   |   641 +-
 .../executors/executor_constants/index.html}       |   505 +-
 .../airflow/executors/executor_loader/index.html}  |   612 +-
 .../2.1.4/_api/airflow/executors}/index.html       |   278 +-
 .../executors/kubernetes_executor/index.html}      |  1074 +-
 .../airflow/executors/local_executor/index.html}   |   960 +-
 .../executors/sequential_executor/index.html}      |   490 +-
 .../2.1.4/_api/airflow/hooks/S3_hook/index.html}   |   431 +-
 .../2.1.4/_api/airflow/hooks/base/index.html}      |   764 +-
 .../2.1.4/_api/airflow/hooks/base_hook/index.html} |   431 +-
 .../2.1.4/_api/airflow/hooks/dbapi/index.html}     |   997 +-
 .../_api/airflow/hooks/dbapi_hook/index.html}      |   431 +-
 .../_api/airflow/hooks/docker_hook/index.html}     |   431 +-
 .../_api/airflow/hooks/druid_hook/index.html}      |   431 +-
 .../_api/airflow/hooks/filesystem/index.html}      |   491 +-
 .../2.1.4/_api/airflow/hooks/hdfs_hook/index.html} |   431 +-
 .../_api/airflow/hooks/hive_hooks/index.html}      |   431 +-
 .../2.1.4/_api/airflow/hooks/http_hook/index.html} |   431 +-
 .../2.1.4/_api/airflow/hooks/index.html}           |   531 +-
 .../2.1.4/_api/airflow/hooks/jdbc_hook/index.html} |   431 +-
 .../_api/airflow/hooks/mssql_hook/index.html}      |   431 +-
 .../_api/airflow/hooks/mysql_hook/index.html}      |   431 +-
 .../_api/airflow/hooks/oracle_hook/index.html}     |   431 +-
 .../2.1.4/_api/airflow/hooks/pig_hook/index.html}  |   431 +-
 .../_api/airflow/hooks/postgres_hook/index.html}   |   431 +-
 .../_api/airflow/hooks/presto_hook/index.html}     |   431 +-
 .../_api/airflow/hooks/samba_hook/index.html}      |   431 +-
 .../_api/airflow/hooks/slack_hook/index.html}      |   431 +-
 .../_api/airflow/hooks/sqlite_hook/index.html}     |   431 +-
 .../_api/airflow/hooks/subprocess/index.html}      |   582 +-
 .../_api/airflow/hooks/webhdfs_hook/index.html}    |   431 +-
 .../_api/airflow/hooks/zendesk_hook/index.html}    |   431 +-
 .../2.1.4/_api/airflow/models/base/index.html}     |   608 +-
 .../_api/airflow/models/baseoperator/index.html    |  2675 +++++
 .../_api/airflow/models/connection/index.html}     |  1035 +-
 .../2.1.4/_api/airflow/models/crypto/index.html}   |   592 +-
 .../2.1.4/_api/airflow/models/dag/index.html       |  3480 ++++++
 .../2.1.4/_api/airflow/models/dagbag/index.html}   |   930 +-
 .../2.1.4/_api/airflow/models/dagcode/index.html}  |   792 +-
 .../2.1.4/_api/airflow/models/dagparam/index.html} |   550 +-
 .../_api/airflow/models/dagpickle/index.html}      |   525 +-
 .../2.1.4/_api/airflow/models/dagrun/index.html    |  1802 +++
 .../2.1.4/_api/airflow/models/errors/index.html}   |   594 +-
 .../2.1.4/_api/airflow/models/index.html           | 10058 +++++++++++++++++
 .../2.1.4/_api/airflow/models/log/index.html}      |   663 +-
 .../2.1.4/_api/airflow/models/pool/index.html}     |   880 +-
 .../airflow/models/renderedtifields/index.html}    |   734 +-
 .../_api/airflow/models/sensorinstance/index.html} |   789 +-
 .../_api/airflow/models/serialized_dag/index.html} |   991 +-
 .../_api/airflow/models/skipmixin/index.html}      |   625 +-
 .../2.1.4/_api/airflow/models/slamiss/index.html}  |   665 +-
 .../2.1.4/_api/airflow/models/taskfail/index.html} |   651 +-
 .../_api/airflow/models/taskinstance/index.html    |  2966 +++++
 .../_api/airflow/models/taskmixin/index.html}      |   661 +-
 .../_api/airflow/models/taskreschedule/index.html} |   725 +-
 .../2.1.4/_api/airflow/models/variable/index.html} |   849 +-
 .../2.1.4/_api/airflow/models/xcom/index.html}     |   875 +-
 .../2.1.4/_api/airflow/models/xcom_arg/index.html} |   703 +-
 .../2.1.4/_api/airflow/operators/bash/index.html}  |   745 +-
 .../airflow/operators/bash_operator/index.html}    |   565 +-
 .../_api/airflow/operators/branch/index.html}      |   552 +-
 .../airflow/operators/branch_operator/index.html}  |   565 +-
 .../airflow/operators/check_operator/index.html}   |   635 +-
 .../airflow/operators/dagrun_operator/index.html}  |   565 +-
 .../_api/airflow/operators/datetime/index.html}    |   627 +-
 .../airflow/operators/docker_operator/index.html}  |   565 +-
 .../operators/druid_check_operator/index.html}     |   565 +-
 .../2.1.4/_api/airflow/operators/dummy/index.html} |   625 +-
 .../airflow/operators/dummy_operator/index.html}   |   565 +-
 .../2.1.4/_api/airflow/operators/email/index.html} |   665 +-
 .../airflow/operators/email_operator/index.html}   |   565 +-
 .../_api/airflow/operators/gcs_to_s3/index.html}   |   565 +-
 .../airflow/operators/generic_transfer/index.html} |   665 +-
 .../google_api_to_s3_transfer/index.html}          |   586 +-
 .../airflow/operators/hive_operator/index.html}    |   565 +-
 .../operators/hive_stats_operator/index.html}      |   565 +-
 .../airflow/operators/hive_to_druid/index.html}    |   512 +-
 .../airflow/operators/hive_to_mysql/index.html}    |   586 +-
 .../operators/hive_to_samba_operator/index.html}   |   565 +-
 .../airflow/operators/http_operator/index.html}    |   565 +-
 .../2.1.4/_api/airflow/operators/index.html}       |   612 +-
 .../airflow/operators/jdbc_operator/index.html}    |   565 +-
 .../_api/airflow/operators/latest_only/index.html} |   617 +-
 .../operators/latest_only_operator/index.html}     |   565 +-
 .../airflow/operators/mssql_operator/index.html}   |   565 +-
 .../airflow/operators/mssql_to_hive/index.html}    |   586 +-
 .../airflow/operators/mysql_operator/index.html}   |   565 +-
 .../airflow/operators/mysql_to_hive/index.html}    |   584 +-
 .../airflow/operators/oracle_operator/index.html}  |   565 +-
 .../operators/papermill_operator/index.html}       |   565 +-
 .../airflow/operators/pig_operator/index.html}     |   487 +-
 .../operators/postgres_operator/index.html}        |   565 +-
 .../operators/presto_check_operator/index.html}    |   544 +-
 .../airflow/operators/presto_to_mysql/index.html}  |   586 +-
 .../2.1.4/_api/airflow/operators/python/index.html |  1539 +++
 .../airflow/operators/python_operator/index.html}  |   565 +-
 .../operators/redshift_to_s3_operator/index.html}  |   511 +-
 .../s3_file_transform_operator/index.html}         |   566 +-
 .../operators/s3_to_hive_operator/index.html}      |   584 +-
 .../operators/s3_to_redshift_operator/index.html}  |   586 +-
 .../airflow/operators/slack_operator/index.html}   |   565 +-
 .../2.1.4/_api/airflow/operators/sql/index.html    |  1677 +++
 .../operators/sql_branch_operator/index.html}      |   584 +-
 .../airflow/operators/sqlite_operator/index.html}  |   565 +-
 .../_api/airflow/operators/subdag/index.html}      |   738 +-
 .../airflow/operators/subdag_operator/index.html}  |   565 +-
 .../airflow/operators/trigger_dagrun/index.html}   |   637 +-
 .../_api/airflow/operators/weekday/index.html}     |   614 +-
 .../_api/airflow/secrets/base_secrets/index.html}  |   537 +-
 .../secrets/environment_variables/index.html}      |   474 +-
 .../2.1.4/_api/airflow/secrets/index.html}         |   552 +-
 .../airflow/secrets/local_filesystem/index.html}   |   709 +-
 .../_api/airflow/secrets/metastore/index.html}     |   599 +-
 .../2.1.4/_api/airflow/sensors/base/index.html}    |   754 +-
 .../sensors/base_sensor_operator/index.html}       |   437 +-
 .../2.1.4/_api/airflow/sensors/bash/index.html}    |   573 +-
 .../_api/airflow/sensors/date_time/index.html}     |   580 +-
 .../airflow/sensors/date_time_sensor/index.html}   |   437 +-
 .../_api/airflow/sensors/external_task/index.html} |   804 +-
 .../sensors/external_task_sensor/index.html}       |   437 +-
 .../_api/airflow/sensors/filesystem/index.html}    |   583 +-
 .../_api/airflow/sensors/hdfs_sensor/index.html}   |   437 +-
 .../sensors/hive_partition_sensor/index.html}      |   437 +-
 .../_api/airflow/sensors/http_sensor/index.html}   |   437 +-
 .../2.1.4/_api/airflow/sensors/index.html}         |   537 +-
 .../sensors/metastore_partition_sensor/index.html} |   438 +-
 .../named_hive_partition_sensor/index.html}        |   437 +-
 .../2.1.4/_api/airflow/sensors/python/index.html}  |   502 +-
 .../_api/airflow/sensors/s3_key_sensor/index.html} |   437 +-
 .../airflow/sensors/s3_prefix_sensor/index.html}   |   437 +-
 .../_api/airflow/sensors/smart_sensor/index.html}  |  1215 ++-
 .../2.1.4/_api/airflow/sensors/sql/index.html}     |   620 +-
 .../_api/airflow/sensors/sql_sensor/index.html}    |   437 +-
 .../_api/airflow/sensors/time_delta/index.html}    |   553 +-
 .../airflow/sensors/time_delta_sensor/index.html}  |   437 +-
 .../_api/airflow/sensors/time_sensor/index.html}   |   550 +-
 .../airflow/sensors/web_hdfs_sensor/index.html}    |   437 +-
 .../2.1.4/_api/airflow/sensors/weekday/index.html} |   584 +-
 docs-archive/apache-airflow/2.1.4/_api/index.html  |     1 +
 .../apache-airflow/2.1.4/_images/add-dag-tags.png  |   Bin 0 -> 68537 bytes
 .../apache-airflow/2.1.4/_images/add-role.png      |   Bin 0 -> 30509 bytes
 .../apache-airflow/2.1.4/_images/airflow.gif       |   Bin 0 -> 416302 bytes
 .../apache-airflow/2.1.4/_images/apache.jpg        |   Bin 0 -> 43364 bytes
 .../2.1.4/_images/arch-diag-basic.png              |   Bin 0 -> 16357 bytes
 .../2.1.4/_images/arch-diag-kubernetes.png         |   Bin 0 -> 21804 bytes
 .../2.1.4/_images/arch-diag-kubernetes2.png        |   Bin 0 -> 86384 bytes
 .../2.1.4/_images/arch-diag-logging.png            |   Bin 0 -> 25843 bytes
 .../apache-airflow/2.1.4/_images/basic-dag.png     |   Bin 0 -> 5393 bytes
 .../apache-airflow/2.1.4/_images/branch_note.png   |   Bin 0 -> 31771 bytes
 .../2.1.4/_images/branch_with_trigger.png          |   Bin 0 -> 34081 bytes
 .../2.1.4/_images/branch_without_trigger.png       |   Bin 0 -> 39815 bytes
 .../2.1.4/_images/cli_completion.gif               |   Bin 0 -> 775263 bytes
 docs-archive/apache-airflow/2.1.4/_images/code.png |   Bin 0 -> 240101 bytes
 .../2.1.4/_images/connection_create.png            |   Bin 0 -> 52889 bytes
 .../2.1.4/_images/connection_edit.png              |   Bin 0 -> 31186 bytes
 .../apache-airflow/2.1.4/_images/connections.png   |   Bin 0 -> 79451 bytes
 .../apache-airflow/2.1.4/_images/context.png       |   Bin 0 -> 124467 bytes
 .../apache-airflow/2.1.4/_images/dag_doc.png       |   Bin 0 -> 40094 bytes
 .../2.1.4/_images/dag_serialization.png            |   Bin 0 -> 99917 bytes
 .../apache-airflow/2.1.4/_images/dags-page-new.png |   Bin 0 -> 483599 bytes
 .../apache-airflow/2.1.4/_images/dags-page-old.png |   Bin 0 -> 493009 bytes
 docs-archive/apache-airflow/2.1.4/_images/dags.png |   Bin 0 -> 211122 bytes
 .../default_instance_name_configuration.png        |   Bin 0 -> 154888 bytes
 .../apache-airflow/2.1.4/_images/duration.png      |   Bin 0 -> 150876 bytes
 .../2.1.4/_images/edge_label_example.png           |   Bin 0 -> 24592 bytes
 .../example_instance_name_configuration.png        |   Bin 0 -> 154915 bytes
 .../2.1.4/_images/example_passing_conf.png         |   Bin 0 -> 41080 bytes
 .../apache-airflow/2.1.4/_images/gantt.png         |   Bin 0 -> 71033 bytes
 .../2.1.4/_images/graph-view-new.png               |   Bin 0 -> 56973 bytes
 .../2.1.4/_images/graph-view-old.png               |   Bin 0 -> 54884 bytes
 .../apache-airflow/2.1.4/_images/graph.png         |   Bin 0 -> 110218 bytes
 ...iz-91fd3ca4f3dc01a69b3f84fbcd6b5c7975945ba4.png |   Bin 0 -> 41708 bytes
 ...1fd3ca4f3dc01a69b3f84fbcd6b5c7975945ba4.png.map |     2 +
 .../2.1.4/_images/k8s-failed-pod.png               |   Bin 0 -> 18937 bytes
 .../2.1.4/_images/k8s-happy-path.png               |   Bin 0 -> 17257 bytes
 .../2.1.4/_images/latest_only_with_trigger.png     |   Bin 0 -> 42887 bytes
 .../apache-airflow/2.1.4/_images/new-role.png      |   Bin 0 -> 14115 bytes
 .../2.1.4/_images/operator_extra_link.png          |   Bin 0 -> 90359 bytes
 .../apache-airflow/2.1.4/_images/pin_large.png     |   Bin 0 -> 24922 bytes
 .../2.1.4/_images/run_task_on_celery_executor.png  |   Bin 0 -> 55939 bytes
 .../2.1.4/_images/smart_sensor_architecture.png    |   Bin 0 -> 80325 bytes
 .../smart_sensor_single_task_execute_flow.png      |   Bin 0 -> 75462 bytes
 .../apache-airflow/2.1.4/_images/subdag_after.png  |   Bin 0 -> 30245 bytes
 .../apache-airflow/2.1.4/_images/subdag_before.png |   Bin 0 -> 70382 bytes
 .../apache-airflow/2.1.4/_images/subdag_zoom.png   |   Bin 0 -> 145017 bytes
 .../apache-airflow/2.1.4/_images/task_doc.png      |   Bin 0 -> 245714 bytes
 .../apache-airflow/2.1.4/_images/task_group.gif    |   Bin 0 -> 609981 bytes
 .../2.1.4/_images/task_lifecycle_diagram.png       |   Bin 0 -> 135225 bytes
 .../2.1.4/_images/task_manual_vs_scheduled.png     |   Bin 0 -> 5806 bytes
 .../apache-airflow/2.1.4/_images/tree-view-new.png |   Bin 0 -> 36934 bytes
 .../apache-airflow/2.1.4/_images/tree-view-old.png |   Bin 0 -> 21601 bytes
 docs-archive/apache-airflow/2.1.4/_images/tree.png |   Bin 0 -> 177465 bytes
 .../2.1.4/_images/ui-timezone-chooser.png          |   Bin 0 -> 16644 bytes
 .../2.1.4/_images/usage_cli_export.png             |   Bin 0 -> 397830 bytes
 .../2.1.4/_images/usage_cli_imgcat.png             |   Bin 0 -> 475224 bytes
 .../2.1.4/_images/variable_hidden.png              |   Bin 0 -> 55331 bytes
 .../2.1.4/_images/variable_hidden1.png             |   Bin 0 -> 55331 bytes
 .../example_dags/example_bash_operator.html}       |   301 +-
 .../example_branch_datetime_operator.html}         |   304 +-
 .../example_branch_day_of_week_operator.html}      |   274 +-
 .../example_dags/example_branch_labels.html}       |   261 +-
 .../example_dags/example_dag_decorator.html}       |   286 +-
 .../example_external_task_marker_dag.html}         |   301 +-
 .../example_kubernetes_executor_config.html}       |   536 +-
 .../example_latest_only_with_trigger.html}         |   267 +-
 .../example_dags/example_python_operator.html}     |   316 +-
 .../airflow/example_dags/subdags/subdag.html}      |   275 +-
 .../_modules/airflow/example_dags/tutorial.html}   |   350 +-
 .../airflow/example_dags/tutorial_etl_dag.html}    |   360 +-
 .../example_dags/tutorial_taskflow_api_etl.html}   |   329 +-
 .../tutorial_taskflow_api_etl_virtualenv.html}     |   333 +-
 .../2.1.4/_modules/airflow/exceptions.html}        |   587 +-
 .../_modules/airflow/executors/base_executor.html} |   758 +-
 .../airflow/executors/celery_executor.html         |  1444 +++
 .../executors/celery_kubernetes_executor.html}     |   561 +-
 .../_modules/airflow/executors/dask_executor.html} |   343 +-
 .../airflow/executors/debug_executor.html}         |   595 +-
 .../airflow/executors/executor_constants.html}     |   245 +-
 .../airflow/executors/executor_loader.html}        |   347 +-
 .../airflow/executors/kubernetes_executor.html     |  1620 +++
 .../airflow/executors/local_executor.html}         |   753 +-
 .../airflow/executors/sequential_executor.html}    |   296 +-
 .../2.1.4/_modules/airflow/hooks/base.html}        |   537 +-
 .../2.1.4/_modules/airflow/hooks/dbapi.html}       |   798 +-
 .../2.1.4/_modules/airflow/hooks/filesystem.html}  |   272 +-
 .../2.1.4/_modules/airflow/hooks/subprocess.html}  |   311 +-
 .../2.1.4/_modules/airflow/macros.html}            |   304 +-
 .../2.1.4/_modules/airflow/macros/hive.html}       |   342 +-
 .../2.1.4/_modules/airflow/models.html}            |   258 +-
 .../2.1.4/_modules/airflow/models/base.html}       |   269 +-
 .../_modules/airflow/models/baseoperator.html      |  2515 +++++
 .../2.1.4/_modules/airflow/models/connection.html} |   602 +-
 .../2.1.4/_modules/airflow/models/crypto.html}     |   311 +-
 .../2.1.4/_modules/airflow/models/dag.html         |  3239 ++++++
 .../2.1.4/_modules/airflow/models/dagbag.html      |  1500 +++
 .../2.1.4/_modules/airflow/models/dagcode.html}    |   648 +-
 .../2.1.4/_modules/airflow/models/dagparam.html}   |   282 +-
 .../2.1.4/_modules/airflow/models/dagpickle.html}  |   274 +-
 .../2.1.4/_modules/airflow/models/dagrun.html      |  1672 +++
 .../2.1.4/_modules/airflow/models/errors.html}     |   258 +-
 .../2.1.4/_modules/airflow/models/log.html}        |   286 +-
 .../2.1.4/_modules/airflow/models/pool.html}       |   671 +-
 .../_modules/airflow/models/renderedtifields.html} |   641 +-
 .../_modules/airflow/models/sensorinstance.html}   |   616 +-
 .../_modules/airflow/models/serialized_dag.html}   |   682 +-
 .../2.1.4/_modules/airflow/models/skipmixin.html}  |   609 +-
 .../2.1.4/_modules/airflow/models/slamiss.html}    |   268 +-
 .../2.1.4/_modules/airflow/models/taskfail.html}   |   272 +-
 .../_modules/airflow/models/taskinstance.html      |  2990 +++++
 .../2.1.4/_modules/airflow/models/taskmixin.html}  |   298 +-
 .../_modules/airflow/models/taskreschedule.html}   |   321 +-
 .../2.1.4/_modules/airflow/models/variable.html}   |   430 +-
 .../2.1.4/_modules/airflow/models/xcom.html}       |   722 +-
 .../2.1.4/_modules/airflow/models/xcom_arg.html}   |   511 +-
 .../2.1.4/_modules/airflow/operators/bash.html}    |   693 +-
 .../2.1.4/_modules/airflow/operators/branch.html}  |   275 +-
 .../airflow/operators/check_operator.html}         |   317 +-
 .../_modules/airflow/operators/datetime.html}      |   468 +-
 .../2.1.4/_modules/airflow/operators/dummy.html}   |   258 +-
 .../2.1.4/_modules/airflow/operators/email.html}   |   310 +-
 .../airflow/operators/generic_transfer.html}       |   306 +-
 .../operators/google_api_to_s3_transfer.html}      |   271 +-
 .../_modules/airflow/operators/hive_to_druid.html} |   270 +-
 .../_modules/airflow/operators/hive_to_mysql.html} |   270 +-
 .../_modules/airflow/operators/latest_only.html}   |   288 +-
 .../_modules/airflow/operators/mssql_to_hive.html} |   270 +-
 .../_modules/airflow/operators/mysql_to_hive.html} |   265 +-
 .../airflow/operators/presto_check_operator.html}  |   299 +-
 .../airflow/operators/presto_to_mysql.html}        |   270 +-
 .../2.1.4/_modules/airflow/operators/python.html}  |   831 +-
 .../operators/redshift_to_s3_operator.html}        |   269 +-
 .../airflow/operators/s3_to_hive_operator.html}    |   265 +-
 .../operators/s3_to_redshift_operator.html}        |   270 +-
 .../2.1.4/_modules/airflow/operators/sql.html      |  1404 +++
 .../airflow/operators/sql_branch_operator.html}    |   261 +-
 .../2.1.4/_modules/airflow/operators/subdag.html}  |   659 +-
 .../airflow/operators/trigger_dagrun.html}         |   534 +-
 .../2.1.4/_modules/airflow/operators/weekday.html} |   312 +-
 .../2.1.4/_modules/airflow/secrets.html}           |   253 +-
 .../_modules/airflow/secrets/base_secrets.html}    |   328 +-
 .../airflow/secrets/environment_variables.html}    |   267 +-
 .../airflow/secrets/local_filesystem.html}         |   788 +-
 .../2.1.4/_modules/airflow/secrets/metastore.html} |   291 +-
 .../2.1.4/_modules/airflow/sensors/base.html}      |   693 +-
 .../2.1.4/_modules/airflow/sensors/bash.html}      |   305 +-
 .../2.1.4/_modules/airflow/sensors/date_time.html} |   292 +-
 .../_modules/airflow/sensors/external_task.html}   |   664 +-
 .../_modules/airflow/sensors/filesystem.html}      |   288 +-
 .../2.1.4/_modules/airflow/sensors/python.html}    |   293 +-
 .../_modules/airflow/sensors/smart_sensor.html     |  1615 +++
 .../2.1.4/_modules/airflow/sensors/sql.html}       |   338 +-
 .../_modules/airflow/sensors/time_delta.html}      |   264 +-
 .../_modules/airflow/sensors/time_sensor.html}     |   258 +-
 .../2.1.4/_modules/airflow/sensors/weekday.html}   |   323 +-
 .../2.1.4/_modules/airflow/www/security.html       |  1596 +++
 .../2.1.4/_modules}/index.html                     |   317 +-
 .../_sources/_api/airflow/exceptions/index.rst.txt |   297 +
 .../airflow/executors/base_executor/index.rst.txt  |   228 +
 .../executors/celery_executor/index.rst.txt        |   252 +
 .../celery_kubernetes_executor/index.rst.txt       |   143 +
 .../airflow/executors/dask_executor/index.rst.txt  |    55 +
 .../airflow/executors/debug_executor/index.rst.txt |    85 +
 .../executors/executor_constants/index.rst.txt     |    44 +
 .../executors/executor_loader/index.rst.txt        |    67 +
 .../_sources/_api/airflow/executors/index.rst.txt  |    29 +
 .../executors/kubernetes_executor/index.rst.txt    |   274 +
 .../airflow/executors/local_executor/index.rst.txt |   229 +
 .../executors/sequential_executor/index.rst.txt    |    54 +
 .../_api/airflow/hooks/S3_hook/index.rst.txt       |    11 +
 .../_sources/_api/airflow/hooks/base/index.rst.txt |   159 +
 .../_api/airflow/hooks/base_hook/index.rst.txt     |    11 +
 .../_api/airflow/hooks/dbapi/index.rst.txt         |   257 +
 .../_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    |    38 +
 .../_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    |    44 +
 .../_api/airflow/hooks/webhdfs_hook/index.rst.txt  |    11 +
 .../_api/airflow/hooks/zendesk_hook/index.rst.txt  |    11 +
 .../_api/airflow/models/base/index.rst.txt         |    43 +
 .../_api/airflow/models/baseoperator/index.rst.txt |   934 ++
 .../_api/airflow/models/connection/index.rst.txt   |   237 +
 .../_api/airflow/models/crypto/index.rst.txt       |    79 +
 .../_sources/_api/airflow/models/dag/index.rst.txt |  1196 ++
 .../_api/airflow/models/dagbag/index.rst.txt       |   204 +
 .../_api/airflow/models/dagcode/index.rst.txt      |   131 +
 .../_api/airflow/models/dagparam/index.rst.txt     |    38 +
 .../_api/airflow/models/dagpickle/index.rst.txt    |    48 +
 .../_api/airflow/models/dagrun/index.rst.txt       |   377 +
 .../_api/airflow/models/errors/index.rst.txt       |    42 +
 .../_sources/_api/airflow/models/index.rst.txt     |  4303 ++++++++
 .../_sources/_api/airflow/models/log/index.rst.txt |    66 +
 .../_api/airflow/models/pool/index.rst.txt         |   162 +
 .../airflow/models/renderedtifields/index.rst.txt  |   106 +
 .../airflow/models/sensorinstance/index.rst.txt    |   156 +
 .../airflow/models/serialized_dag/index.rst.txt    |   233 +
 .../_api/airflow/models/skipmixin/index.rst.txt    |    66 +
 .../_api/airflow/models/slamiss/index.rst.txt      |    68 +
 .../_api/airflow/models/taskfail/index.rst.txt     |    66 +
 .../_api/airflow/models/taskinstance/index.rst.txt |   920 ++
 .../_api/airflow/models/taskmixin/index.rst.txt    |    80 +
 .../airflow/models/taskreschedule/index.rst.txt    |   103 +
 .../_api/airflow/models/variable/index.rst.txt     |   154 +
 .../_api/airflow/models/xcom/index.rst.txt         |   185 +
 .../_api/airflow/models/xcom_arg/index.rst.txt     |   117 +
 .../_api/airflow/operators/bash/index.rst.txt      |   148 +
 .../airflow/operators/bash_operator/index.rst.txt  |    11 +
 .../_api/airflow/operators/branch/index.rst.txt    |    47 +
 .../operators/branch_operator/index.rst.txt        |    11 +
 .../airflow/operators/check_operator/index.rst.txt |    46 +
 .../operators/dagrun_operator/index.rst.txt        |    11 +
 .../_api/airflow/operators/datetime/index.rst.txt  |    44 +
 .../operators/docker_operator/index.rst.txt        |    11 +
 .../operators/druid_check_operator/index.rst.txt   |    11 +
 .../_api/airflow/operators/dummy/index.rst.txt     |    34 +
 .../airflow/operators/dummy_operator/index.rst.txt |    11 +
 .../_api/airflow/operators/email/index.rst.txt     |    60 +
 .../airflow/operators/email_operator/index.rst.txt |    11 +
 .../_api/airflow/operators/gcs_to_s3/index.rst.txt |    11 +
 .../operators/generic_transfer/index.rst.txt       |    58 +
 .../google_api_to_s3_transfer/index.rst.txt        |    25 +
 .../airflow/operators/hive_operator/index.rst.txt  |    11 +
 .../operators/hive_stats_operator/index.rst.txt    |    11 +
 .../airflow/operators/hive_to_druid/index.rst.txt  |    25 +
 .../airflow/operators/hive_to_mysql/index.rst.txt  |    25 +
 .../operators/hive_to_samba_operator/index.rst.txt |    11 +
 .../airflow/operators/http_operator/index.rst.txt  |    11 +
 .../_sources/_api/airflow/operators/index.rst.txt  |    68 +
 .../airflow/operators/jdbc_operator/index.rst.txt  |    11 +
 .../airflow/operators/latest_only/index.rst.txt    |    39 +
 .../operators/latest_only_operator/index.rst.txt   |    11 +
 .../airflow/operators/mssql_operator/index.rst.txt |    11 +
 .../airflow/operators/mssql_to_hive/index.rst.txt  |    25 +
 .../airflow/operators/mysql_operator/index.rst.txt |    11 +
 .../airflow/operators/mysql_to_hive/index.rst.txt  |    22 +
 .../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  |    38 +
 .../operators/presto_to_mysql/index.rst.txt        |    25 +
 .../_api/airflow/operators/python/index.rst.txt    |   280 +
 .../operators/python_operator/index.rst.txt        |    11 +
 .../redshift_to_s3_operator/index.rst.txt          |    23 +
 .../s3_file_transform_operator/index.rst.txt       |    12 +
 .../operators/s3_to_hive_operator/index.rst.txt    |    22 +
 .../s3_to_redshift_operator/index.rst.txt          |    25 +
 .../airflow/operators/slack_operator/index.rst.txt |    11 +
 .../_api/airflow/operators/sql/index.rst.txt       |   316 +
 .../operators/sql_branch_operator/index.rst.txt    |    22 +
 .../operators/sqlite_operator/index.rst.txt        |    11 +
 .../_api/airflow/operators/subdag/index.rst.txt    |   116 +
 .../operators/subdag_operator/index.rst.txt        |    11 +
 .../airflow/operators/trigger_dagrun/index.rst.txt |    81 +
 .../_api/airflow/operators/weekday/index.rst.txt   |    42 +
 .../airflow/secrets/base_secrets/index.rst.txt     |    81 +
 .../secrets/environment_variables/index.rst.txt    |    47 +
 .../_sources/_api/airflow/secrets/index.rst.txt    |   107 +
 .../airflow/secrets/local_filesystem/index.rst.txt |   130 +
 .../_api/airflow/secrets/metastore/index.rst.txt   |    42 +
 .../_api/airflow/sensors/base/index.rst.txt        |   157 +
 .../sensors/base_sensor_operator/index.rst.txt     |    11 +
 .../_api/airflow/sensors/bash/index.rst.txt        |    42 +
 .../_api/airflow/sensors/date_time/index.rst.txt   |    51 +
 .../airflow/sensors/date_time_sensor/index.rst.txt |    11 +
 .../airflow/sensors/external_task/index.rst.txt    |   157 +
 .../sensors/external_task_sensor/index.rst.txt     |    11 +
 .../_api/airflow/sensors/filesystem/index.rst.txt  |    41 +
 .../_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      |    45 +
 .../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     |   331 +
 .../_api/airflow/sensors/sql/index.rst.txt         |    63 +
 .../_api/airflow/sensors/sql_sensor/index.rst.txt  |    11 +
 .../_api/airflow/sensors/time_delta/index.rst.txt  |    27 +
 .../sensors/time_delta_sensor/index.rst.txt        |    11 +
 .../_api/airflow/sensors/time_sensor/index.rst.txt |    24 +
 .../airflow/sensors/web_hdfs_sensor/index.rst.txt  |    11 +
 .../_api/airflow/sensors/weekday/index.rst.txt     |    66 +
 .../2.1.4/_sources/best-practices.rst.txt          |   397 +
 .../2.1.4/_sources/changelog.rst.txt               |    23 +
 .../_sources/cli-and-env-variables-ref.rst.txt     |   105 +
 .../_sources/concepts/cluster-policies.rst.txt     |    92 +
 .../2.1.4/_sources/concepts/connections.rst.txt    |    47 +
 .../2.1.4/_sources/concepts/dags.rst.txt           |   608 ++
 .../2.1.4/_sources/concepts/index.rst.txt          |    55 +
 .../2.1.4/_sources/concepts/operators.rst.txt      |   207 +
 .../2.1.4/_sources/concepts/overview.rst.txt       |    96 +
 .../2.1.4/_sources/concepts/pools.rst.txt          |    52 +
 .../_sources/concepts/priority-weight.rst.txt      |    61 +
 .../2.1.4/_sources/concepts/scheduler.rst.txt      |   200 +
 .../2.1.4/_sources/concepts/sensors.rst.txt        |    33 +
 .../2.1.4/_sources/concepts/smart-sensors.rst.txt  |    92 +
 .../2.1.4/_sources/concepts/taskflow.rst.txt       |    72 +
 .../2.1.4/_sources/concepts/tasks.rst.txt          |   167 +
 .../2.1.4/_sources/concepts/variables.rst.txt      |    48 +
 .../2.1.4/_sources/concepts/xcoms.rst.txt          |    49 +
 .../2.1.4/_sources/configurations-ref.rst.txt      |    96 +
 .../apache-airflow/2.1.4/_sources/dag-run.rst.txt  |   241 +
 .../2.1.4/_sources/dag-serialization.rst.txt       |   117 +
 .../2.1.4/_sources/deprecated-rest-api-ref.rst.txt |   127 +
 .../2.1.4/_sources/executor/celery.rst.txt         |   219 +
 .../_sources/executor/celery_kubernetes.rst.txt    |    46 +
 .../2.1.4/_sources/executor/dask.rst.txt           |    54 +
 .../2.1.4/_sources/executor/debug.rst.txt          |    54 +
 .../2.1.4/_sources/executor/index.rst.txt          |    79 +
 .../2.1.4/_sources/executor/kubernetes.rst.txt     |   213 +
 .../2.1.4/_sources/executor/local.rst.txt          |    49 +
 .../2.1.4/_sources/executor/sequential.rst.txt     |    26 +
 .../2.1.4/_sources/extra-packages-ref.rst.txt      |   360 +
 .../apache-airflow/2.1.4/_sources/faq.rst.txt      |   398 +
 .../2.1.4/_sources/howto/add-dag-tags.rst.txt      |    44 +
 .../2.1.4/_sources/howto/connection.rst.txt        |   394 +
 .../2.1.4/_sources/howto/custom-operator.rst.txt   |   270 +
 .../customize-dag-ui-page-instance-name.rst.txt    |    55 +
 .../howto/customize-state-colors-ui.rst.txt        |    75 +
 .../2.1.4/_sources/howto/define_extra_link.rst.txt |   159 +
 .../2.1.4/_sources/howto/email-config.rst.txt      |   109 +
 .../2.1.4/_sources/howto/index.rst.txt             |    45 +
 .../2.1.4/_sources/howto/operator/bash.rst.txt     |   144 +
 .../2.1.4/_sources/howto/operator/datetime.rst.txt |    39 +
 .../howto/operator/external_task_sensor.rst.txt    |    68 +
 .../2.1.4/_sources/howto/operator/index.rst.txt    |    38 +
 .../2.1.4/_sources/howto/operator/python.rst.txt   |    86 +
 .../2.1.4/_sources/howto/operator/weekday.rst.txt  |    31 +
 .../2.1.4/_sources/howto/run-behind-proxy.rst.txt  |    92 +
 .../2.1.4/_sources/howto/run-with-systemd.rst.txt  |    40 +
 .../2.1.4/_sources/howto/set-config.rst.txt        |   117 +
 .../2.1.4/_sources/howto/set-up-database.rst.txt   |   243 +
 .../2.1.4/_sources/howto/use-test-config.rst.txt   |    36 +
 .../2.1.4/_sources/howto/variable.rst.txt          |    74 +
 .../apache-airflow/2.1.4/_sources/index.rst.txt    |   118 +
 .../_sources/installation/dependencies.rst.txt     |    92 +
 .../2.1.4/_sources/installation/index.rst.txt      |   317 +
 .../installation/installing-from-pypi.rst.txt      |   207 +
 .../installation/installing-from-sources.rst.txt   |   158 +
 .../_sources/installation/prerequisites.rst.txt    |    42 +
 .../installation/setting-up-the-database.rst.txt   |    32 +
 .../installation/supported-versions.rst.txt        |    67 +
 .../2.1.4/_sources/integration.rst.txt             |    36 +
 .../2.1.4/_sources/kubernetes.rst.txt              |    52 +
 .../apache-airflow/2.1.4/_sources/license.rst.txt  |   201 +
 .../apache-airflow/2.1.4/_sources/lineage.rst.txt  |   118 +
 .../logging-monitoring/check-health.rst.txt        |   128 +
 .../_sources/logging-monitoring/errors.rst.txt     |    72 +
 .../_sources/logging-monitoring/index.rst.txt      |    38 +
 .../logging-architecture.rst.txt                   |    41 +
 .../logging-monitoring/logging-tasks.rst.txt       |   118 +
 .../_sources/logging-monitoring/metrics.rst.txt    |   164 +
 .../tracking-user-activity.rst.txt                 |    39 +
 .../2.1.4/_sources/macros-ref.rst.txt              |   128 +
 .../2.1.4/_sources/migrations-ref.rst.txt          |   208 +
 .../2.1.4/_sources/modules_management.rst.txt      |   276 +
 .../2.1.4/_sources/operators-and-hooks-ref.rst.txt |   133 +
 .../apache-airflow/2.1.4/_sources/plugins.rst.txt  |   349 +
 .../2.1.4/_sources/privacy_notice.rst.txt          |    68 +
 .../2.1.4/_sources/production-deployment.rst.txt   |   224 +
 .../apache-airflow/2.1.4/_sources/project.rst.txt  |   100 +
 .../2.1.4/_sources/python-api-ref.rst.txt          |   139 +
 .../2.1.4/_sources/release-process.rst.txt         |    83 +
 .../2.1.4/_sources/security/access-control.rst.txt |   243 +
 .../2.1.4/_sources/security/api.rst.txt            |   163 +
 .../2.1.4/_sources/security/flower.rst.txt         |    44 +
 .../2.1.4/_sources/security/index.rst.txt          |    28 +
 .../2.1.4/_sources/security/kerberos.rst.txt       |   137 +
 .../2.1.4/_sources/security/secrets/fernet.rst.txt |    62 +
 .../2.1.4/_sources/security/secrets/index.rst.txt  |    98 +
 .../security/secrets/secrets-backend/index.rst.txt |   107 +
 .../local-filesystem-secrets-backend.rst.txt       |   145 +
 .../2.1.4/_sources/security/webserver.rst.txt      |   167 +
 .../2.1.4/_sources/security/workload.rst.txt       |    56 +
 .../2.1.4/_sources/stable-rest-api-ref.rst.txt     |    23 +
 .../2.1.4/_sources/start/docker.rst.txt            |   348 +
 .../2.1.4/_sources/start/index.rst.txt             |    27 +
 .../2.1.4/_sources/start/local.rst.txt             |   105 +
 .../apache-airflow/2.1.4/_sources/timezone.rst.txt |   183 +
 .../apache-airflow/2.1.4/_sources/tutorial.rst.txt |   378 +
 .../2.1.4/_sources/tutorial_taskflow_api.rst.txt   |   239 +
 .../apache-airflow/2.1.4/_sources/ui.rst.txt       |   142 +
 .../_sources/upgrading-from-1-10/index.rst.txt     |  1200 ++
 .../upgrading-from-1-10/upgrade-check.rst.txt      |   218 +
 .../2.1.4/_sources/usage-cli.rst.txt               |   201 +
 docs-archive/apache-airflow/2.1.4/_specs/v1.yaml   |  3461 ++++++
 .../2.1.4/_static/_gen/css/main-custom.min.css     |     1 +
 .../2.1.4/_static/_gen/css/main.min.css            |     7 +
 .../apache-airflow/2.1.4/_static/_gen/js/docs.js   |     1 +
 .../apache-airflow/2.1.4/_static/basic.css         |   856 ++
 .../apache-airflow/2.1.4/_static/check-solid.svg   |     4 +
 .../apache-airflow/2.1.4/_static/clipboard.min.js  |     7 +
 .../apache-airflow/2.1.4/_static/copy-button.svg   |     5 +
 .../apache-airflow/2.1.4/_static/copybutton.css    |    81 +
 .../apache-airflow/2.1.4/_static/copybutton.js     |   197 +
 .../2.1.4/_static/copybutton_funcs.js              |    58 +
 .../apache-airflow/2.1.4/_static/doctools.js       |   316 +
 .../2.1.4/_static/documentation_options.js         |    12 +
 .../2.1.4/_static/exampleinclude.css               |    86 +
 docs-archive/apache-airflow/2.1.4/_static/file.png |   Bin 0 -> 286 bytes
 .../apache-airflow/2.1.4/_static/graphviz.css      |    19 +
 .../apache-airflow/2.1.4/_static/jira-links.js     |    34 +
 .../apache-airflow/2.1.4/_static/jquery-3.5.1.js   | 10872 +++++++++++++++++++
 .../apache-airflow/2.1.4/_static/jquery.js         |     2 +
 .../apache-airflow/2.1.4/_static/language_data.js  |   297 +
 .../apache-airflow/2.1.4/_static/minus.png         |   Bin 0 -> 90 bytes
 .../apache-airflow/2.1.4/_static/pin_32.png        |   Bin 0 -> 1201 bytes
 docs-archive/apache-airflow/2.1.4/_static/plus.png |   Bin 0 -> 90 bytes
 .../apache-airflow/2.1.4/_static/pygments.css      |    74 +
 docs-archive/apache-airflow/2.1.4/_static/redoc.js |   103 +
 .../apache-airflow/2.1.4/_static/searchtools.js    |   514 +
 .../2.1.4/_static/underscore-1.3.1.js              |   999 ++
 .../apache-airflow/2.1.4/_static/underscore.js     |    31 +
 docs-archive/apache-airflow/2.1.4/airflow.sh       |    28 +
 .../2.1.4/best-practices.html}                     |   696 +-
 docs-archive/apache-airflow/2.1.4/changelog.html   |  6315 +++++++++++
 .../2.1.4/cli-and-env-variables-ref.html           |  4759 ++++++++
 docs-archive/apache-airflow/2.1.4/cli-ref.html     |     1 +
 docs-archive/apache-airflow/2.1.4/concepts.html    |     1 +
 .../2.1.4/concepts/cluster-policies.html}          |   464 +-
 .../2.1.4/concepts/connections.html}               |   261 +-
 .../apache-airflow/2.1.4/concepts/dags.html        |  1622 +++
 .../2.1.4/concepts}/index.html                     |   311 +-
 .../2.1.4/concepts/operators.html}                 |   581 +-
 .../2.1.4/concepts/overview.html}                  |   580 +-
 .../2.1.4/concepts/pools.html}                     |   259 +-
 .../2.1.4/concepts/priority-weight.html}           |   270 +-
 .../2.1.4/concepts/scheduler.html}                 |   514 +-
 .../2.1.4/concepts/sensors.html}                   |   244 +-
 .../2.1.4/concepts/smart-sensors.html}             |   296 +-
 .../2.1.4/concepts/taskflow.html}                  |   283 +-
 .../2.1.4/concepts/tasks.html}                     |   542 +-
 .../2.1.4/concepts/variables.html}                 |   259 +-
 .../2.1.4/concepts/xcoms.html}                     |   256 +-
 .../apache-airflow/2.1.4/configurations-ref.html   |  7107 ++++++++++++
 .../2.1.4/dag-run.html}                            |   581 +-
 .../2.1.4/dag-serialization.html}                  |   254 +-
 .../2.1.4/deprecated-rest-api-ref.html}            |   535 +-
 .../apache-airflow/2.1.4/docker-compose.yaml       |   259 +
 docs-archive/apache-airflow/2.1.4/errors.html      |     1 +
 .../2.1.4/executor/celery.html}                    |   519 +-
 .../2.1.4/executor/celery_kubernetes.html}         |   249 +-
 .../2.1.4/executor/dask.html}                      |   245 +-
 .../2.1.4/executor/debug.html}                     |   251 +-
 .../2.1.4/executor}/index.html                     |   264 +-
 .../2.1.4/executor/kubernetes.html}                |   830 +-
 .../2.1.4/executor/local.html}                     |   251 +-
 .../2.1.4/executor/sequential.html}                |   231 +-
 .../2.1.4/extra-packages-ref.html}                 |   967 +-
 .../2.1.4/faq.html}                                |   738 +-
 docs-archive/apache-airflow/2.1.4/genindex.html    |  6888 ++++++++++++
 .../2.1.4/howto/add-dag-tags.html}                 |   246 +-
 .../apache-airflow/2.1.4/howto/add-new-role.html   |     1 +
 .../apache-airflow/2.1.4/howto/check-health.html   |     1 +
 .../2.1.4/howto/connection.html}                   |   741 +-
 .../2.1.4/howto/connection/index.html              |     1 +
 .../2.1.4/howto/custom-operator.html}              |   630 +-
 .../customize-dag-ui-page-instance-name.html}      |   274 +-
 .../2.1.4/howto/customize-state-colors-ui.html}    |   291 +-
 .../2.1.4/howto/define_extra_link.html}            |   463 +-
 .../2.1.4/howto/email-config.html}                 |   601 +-
 .../2.1.4/howto}/index.html                        |   300 +-
 .../2.1.4/howto/initialize-database.html           |     1 +
 .../2.1.4/howto/operator/bash.html}                |   487 +-
 .../2.1.4/howto/operator/datetime.html}            |   407 +-
 .../2.1.4/howto/operator/external.html             |     1 +
 .../howto/operator/external_task_sensor.html}      |   594 +-
 .../2.1.4/howto/operator}/index.html               |   277 +-
 .../2.1.4/howto/operator/python.html}              |   474 +-
 .../2.1.4/howto/operator/weekday.html}             |   266 +-
 .../2.1.4/howto/run-behind-proxy.html}             |   298 +-
 .../2.1.4/howto/run-with-systemd.html}             |   248 +-
 .../2.1.4/howto/secure-connections.html            |     1 +
 .../2.1.4/howto/set-config.html}                   |   593 +-
 .../2.1.4/howto/set-up-database.html}              |   589 +-
 .../2.1.4/howto/tracking-user-activity.html        |     1 +
 .../howto/use-alternative-secrets-backend.html     |     1 +
 .../2.1.4/howto/use-test-config.html}              |   243 +-
 .../2.1.4/howto/variable.html}                     |   280 +-
 .../apache-airflow/2.1.4/howto/write-logs.html     |     1 +
 .../2.1.4/http-routingtable.html}                  |   275 +-
 .../2.1.4}/index.html                              |   190 +-
 .../apache-airflow/2.1.4/installation.html         |     1 +
 .../2.1.4/installation/dependencies.html}          |   299 +-
 .../2.1.4/installation/index.html}                 |   701 +-
 .../2.1.4/installation/installing-from-pypi.html}  |   588 +-
 .../installation/installing-from-sources.html}     |   451 +-
 .../2.1.4/installation/prerequisites.html}         |   245 +-
 .../installation/setting-up-the-database.html}     |   239 +-
 .../2.1.4/installation/supported-versions.html}    |   310 +-
 .../2.1.4/integration.html}                        |   182 +-
 .../2.1.4/kubernetes.html}                         |   200 +-
 .../2.1.4/license.html}                            |   560 +-
 .../2.1.4/lineage.html}                            |   261 +-
 .../2.1.4/logging-monitoring/check-health.html}    |   602 +-
 .../2.1.4/logging-monitoring/errors.html}          |   300 +-
 .../2.1.4/logging-monitoring}/index.html           |   223 +-
 .../logging-monitoring/logging-architecture.html}  |   229 +-
 .../2.1.4/logging-monitoring/logging-tasks.html}   |   311 +-
 .../2.1.4/logging-monitoring/metrics.html}         |   651 +-
 .../tracking-user-activity.html}                   |   232 +-
 .../2.1.4/macros-ref.html}                         |   696 +-
 docs-archive/apache-airflow/2.1.4/metrics.html     |     1 +
 .../2.1.4/migrations-ref.html}                     |   832 +-
 .../2.1.4/modules_management.html}                 |   564 +-
 docs-archive/apache-airflow/2.1.4/objects.inv      |   Bin 0 -> 27080 bytes
 .../2.1.4/operators-and-hooks-ref.html}            |   309 +-
 .../2.1.4/plugins.html}                            |   662 +-
 .../2.1.4/privacy_notice.html}                     |   206 +-
 .../2.1.4/production-deployment.html}              |   522 +-
 .../2.1.4/project.html}                            |   246 +-
 .../2.1.4/py-modindex.html}                        |  1150 +-
 .../2.1.4/python-api-ref.html}                     |   474 +-
 .../2.1.4/release-process.html}                    |   217 +-
 .../apache-airflow/2.1.4/rest-api-ref.html         |     1 +
 docs-archive/apache-airflow/2.1.4/scheduler.html   |     1 +
 .../2.1.4/search.html}                             |   204 +-
 docs-archive/apache-airflow/2.1.4/searchindex.js   |     1 +
 docs-archive/apache-airflow/2.1.4/security.html    |     1 +
 .../2.1.4/security/access-control.html}            |  1013 +-
 .../2.1.4/security/api.html}                       |   474 +-
 .../2.1.4/security/flower.html}                    |   242 +-
 .../2.1.4/security}/index.html                     |   245 +-
 .../2.1.4/security/kerberos.html}                  |   336 +-
 .../2.1.4/security/secrets/fernet.html}            |   274 +-
 .../2.1.4/security/secrets}/index.html             |   296 +-
 .../security/secrets/secrets-backend/index.html}   |   603 +-
 .../local-filesystem-secrets-backend.html}         |   481 +-
 .../2.1.4/security/webserver.html}                 |   475 +-
 .../2.1.4/security/workload.html}                  |   261 +-
 .../apache-airflow/2.1.4/smart-sensor.html         |     1 +
 .../apache-airflow/2.1.4/stable-rest-api-ref.html  |    34 +
 docs-archive/apache-airflow/2.1.4/start.html       |     1 +
 .../2.1.4/start/docker.html}                       |   721 +-
 .../2.1.4/start}/index.html                        |   209 +-
 .../2.1.4/start/local.html}                        |   283 +-
 .../2.1.4/timezone.html}                           |   445 +-
 .../2.1.4/tutorial.html}                           |   949 +-
 .../2.1.4/tutorial_taskflow_api.html}              |   800 +-
 .../index.html => apache-airflow/2.1.4/ui.html}    |   275 +-
 .../apache-airflow/2.1.4/upgrade-check.html        |     1 +
 .../2.1.4/upgrading-from-1-10/index.html           |  2248 ++++
 .../2.1.4/upgrading-from-1-10/upgrade-check.html}  |   568 +-
 .../apache-airflow/2.1.4/upgrading-to-2.html       |     1 +
 .../2.1.4/usage-cli.html}                          |   438 +-
 docs-archive/apache-airflow/stable.txt             |     2 +-
 docs-archive/docker-stack/_sources/build.rst.txt   |     3 +-
 .../docker-stack/_sources/entrypoint.rst.txt       |    72 +-
 docs-archive/docker-stack/build-arg-ref.html       |    16 +-
 docs-archive/docker-stack/build.html               |    87 +-
 docs-archive/docker-stack/entrypoint.html          |   107 +-
 docs-archive/docker-stack/index.html               |    18 +-
 docs-archive/docker-stack/recipes.html             |     4 +-
 docs-archive/docker-stack/searchindex.js           |     2 +-
 717 files changed, 212058 insertions(+), 68465 deletions(-)

diff --git a/docs-archive/apache-airflow/2.1.4/.buildinfo b/docs-archive/apache-airflow/2.1.4/.buildinfo
new file mode 100644
index 0000000..52ea12e
--- /dev/null
+++ b/docs-archive/apache-airflow/2.1.4/.buildinfo
@@ -0,0 +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: a4db21f00d65863afc56e6822cd316f4
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs-archive/docker-stack/entrypoint.html b/docs-archive/apache-airflow/2.1.4/_api/airflow/exceptions/index.html
similarity index 55%
copy from docs-archive/docker-stack/entrypoint.html
copy to docs-archive/apache-airflow/2.1.4/_api/airflow/exceptions/index.html
index 88c9f81..4a9acb3 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/apache-airflow/2.1.4/_api/airflow/exceptions/index.html
@@ -9,15 +9,16 @@
 <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/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" />
+        <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/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" />
     <script type="application/javascript">
         var doNotTrack = false;
         window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
@@ -271,7 +272,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -282,7 +283,7 @@
 </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" />
@@ -312,27 +313,186 @@
 
 
 <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="#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"><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="../../../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="../../../changelog.html">Changelog</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"><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="../../../macros-ref.html">Macros</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#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="#airflow.exceptions.AirflowException">AirflowException</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowException.status_code">status_code</a></li>
 </ul>
 </li>
 </ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowBadRequest">AirflowBadRequest</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowBadRequest.status_code">status_code</a></li>
+</ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption"><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 class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException">AirflowNotFoundException</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException.status_code">status_code</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowConfigException">AirflowConfigException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowSensorTimeout">AirflowSensorTimeout</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowRescheduleException">AirflowRescheduleException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowSmartSensorException">AirflowSmartSensorException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.InvalidStatsNameException">InvalidStatsNameException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowTaskTimeout">AirflowTaskTimeout</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowWebServerTimeout">AirflowWebServerTimeout</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowSkipException">AirflowSkipException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowFailException">AirflowFailException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowDagCycleException">AirflowDagCycleException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowDagDuplicatedIdException">AirflowDagDuplicatedIdException</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowDagDuplicatedIdException.__str__">__str__</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowClusterPolicyViolation">AirflowClusterPolicyViolation</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagNotFound">DagNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagCodeNotFound">DagCodeNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagRunNotFound">DagRunNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagRunAlreadyExists">DagRunAlreadyExists</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagFileExists">DagFileExists</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DuplicateTaskIdFound">DuplicateTaskIdFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.SerializedDagNotFound">SerializedDagNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.SerializationError">SerializationError</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.TaskNotFound">TaskNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.TaskInstanceNotFound">TaskInstanceNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.PoolNotFound">PoolNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.NoAvailablePoolSlot">NoAvailablePoolSlot</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagConcurrencyLimitReached">DagConcurrencyLimitReached</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.TaskConcurrencyLimitReached">TaskConcurrencyLimitReached</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.BackfillUnfinished">BackfillUnfinished</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError">FileSyntaxError</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.line_no">line_no</a></li>
+</ul>
+<ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.message">message</a></li>
+</ul>
+<ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.__str__">__str__</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowFileParseException">AirflowFileParseException</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowFileParseException.__str__">__str__</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.ConnectionNotUnique">ConnectionNotUnique</a></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>
+</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>
@@ -416,7 +576,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -427,7 +587,7 @@
 </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" />
@@ -457,27 +617,186 @@
 
 
 <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="#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"><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="../../../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="../../../changelog.html">Changelog</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"><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="../../../macros-ref.html">Macros</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#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="#airflow.exceptions.AirflowException">AirflowException</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowException.status_code">status_code</a></li>
 </ul>
 </li>
 </ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowBadRequest">AirflowBadRequest</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowBadRequest.status_code">status_code</a></li>
+</ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption"><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 class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException">AirflowNotFoundException</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException.status_code">status_code</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowConfigException">AirflowConfigException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowSensorTimeout">AirflowSensorTimeout</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowRescheduleException">AirflowRescheduleException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowSmartSensorException">AirflowSmartSensorException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.InvalidStatsNameException">InvalidStatsNameException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowTaskTimeout">AirflowTaskTimeout</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowWebServerTimeout">AirflowWebServerTimeout</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowSkipException">AirflowSkipException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowFailException">AirflowFailException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowDagCycleException">AirflowDagCycleException</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowDagDuplicatedIdException">AirflowDagDuplicatedIdException</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowDagDuplicatedIdException.__str__">__str__</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowClusterPolicyViolation">AirflowClusterPolicyViolation</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagNotFound">DagNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagCodeNotFound">DagCodeNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagRunNotFound">DagRunNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagRunAlreadyExists">DagRunAlreadyExists</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagFileExists">DagFileExists</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DuplicateTaskIdFound">DuplicateTaskIdFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.SerializedDagNotFound">SerializedDagNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.SerializationError">SerializationError</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.TaskNotFound">TaskNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.TaskInstanceNotFound">TaskInstanceNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.PoolNotFound">PoolNotFound</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.NoAvailablePoolSlot">NoAvailablePoolSlot</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.DagConcurrencyLimitReached">DagConcurrencyLimitReached</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.TaskConcurrencyLimitReached">TaskConcurrencyLimitReached</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.BackfillUnfinished">BackfillUnfinished</a></li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError">FileSyntaxError</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.line_no">line_no</a></li>
+</ul>
+<ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.message">message</a></li>
+</ul>
+<ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.__str__">__str__</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.AirflowFileParseException">AirflowFileParseException</a><ul>
+<li class="toctree-l6"><a class="reference internal" href="#airflow.exceptions.AirflowFileParseException.__str__">__str__</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l5"><a class="reference internal" href="#airflow.exceptions.ConnectionNotUnique">ConnectionNotUnique</a></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>
+</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>
@@ -566,9 +885,11 @@
 
     <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.exceptions</span></code></a></li>
 
     </ul>
 </div>
@@ -579,255 +900,316 @@
                                 <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 “execution” 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 and GID can be passed via
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code> and <code class="docutils literal notranslate"><span class="pre">AIRFLOW_GID</span></code> variables as described in
-<a class="reference external" href="/docs/apache-airflow/stable/start/docker.html#initializing-docker-compose-environment" title="(in apache-airflow v2.1.3)"><span class="xref std std-ref">Initializing docker compose environment</span></a>.</p>
-<p>In case <code class="docutils literal notranslate"><span class="pre">GID</span></code> is set to <code class="docutils literal notranslate"><span class="pre">0</span></code>, the user can be any UID, but 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 “other” 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 “group write” 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 “arbitrary” user creates a folder (for example in a mounted volume), that
-folder will have a “group write” 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="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 “Support arbitrary user ids” 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 “bash” - 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.1.2-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.1.2-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 “airflow” - 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.1.2-python3.6 airflow webserver
-</pre></div>
-</div>
-<p>If there are any other arguments - they are simply passed to the “airflow” command</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.1.2-python3.6 version
-<span class="m">2</span>.1.2
-</pre></div>
-</div>
-</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">
-<colgroup>
-<col style="width: 10%" />
-<col style="width: 24%" />
-<col style="width: 65%" />
-</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>
-</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:main-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:main-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:master-python3.8 webserver
-</pre></div>
-</div>
-<p>This method is only available starting from Docker image of Airflow 2.1.1 and above.</p>
-</div>
+  <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><p>Exceptions used by Airflow</p>
+</p>
+<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 exception">
+<dt id="airflow.exceptions.AirflowException">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowException</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowException"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowException" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.9)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
+<p>Base class for all Airflow’s errors.
+Each custom exception should be derived from this class</p>
+<dl class="py attribute">
+<dt id="airflow.exceptions.AirflowException.status_code">
+<code class="sig-name descname">status_code</code><em class="property"> = 500</em><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowException.status_code"><span class="viewcode-link">[source]</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 id="airflow.exceptions.AirflowBadRequest">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowBadRequest</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowBadRequest"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowBadRequest" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when the application or server cannot handle the request</p>
+<dl class="py attribute">
+<dt id="airflow.exceptions.AirflowBadRequest.status_code">
+<code class="sig-name descname">status_code</code><em class="property"> = 400</em><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowBadRequest.status_code"><span class="viewcode-link">[source]</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 id="airflow.exceptions.AirflowNotFoundException">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowNotFoundException</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowNotFoundException"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowNotFoundException" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when the requested object/resource is not available in the system</p>
+<dl class="py attribute">
+<dt id="airflow.exceptions.AirflowNotFoundException.status_code">
+<code class="sig-name descname">status_code</code><em class="property"> = 404</em><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowNotFoundException.status_code"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowNotFoundException.status_code" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowConfigException">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowConfigException</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowConfigException"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowConfigException" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when there is configuration problem</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowSensorTimeout">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowSensorTimeout</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowSensorTimeout"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowSensorTimeout" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when there is a timeout on sensor polling</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowRescheduleException">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowRescheduleException</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">reschedule_date</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowRescheduleException"><span class="viewcode-link">[source]</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-class docutils literal notranslate"><span class="pre">airflow.exceptions.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> (<a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.datetime" title="(in Python v3.9)"><em>datetime.datetime</em></a>) – The date when the task should be rescheduled</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowSmartSensorException">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowSmartSensorException</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowSmartSensorException"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowSmartSensorException" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise after the task register itself in the smart sensor service
+It should exit without failing a task</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.InvalidStatsNameException">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">InvalidStatsNameException</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#InvalidStatsNameException"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.InvalidStatsNameException" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when name of the stats is invalid</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowTaskTimeout">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowTaskTimeout</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowTaskTimeout"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowTaskTimeout" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when the task execution times-out</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowWebServerTimeout">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowWebServerTimeout</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowWebServerTimeout"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowWebServerTimeout" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when the web server times out</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowSkipException">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowSkipException</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowSkipException"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowSkipException" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when the task should be skipped</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowFailException">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowFailException</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowFailException"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowFailException" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when the task should be failed without retrying</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowDagCycleException">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowDagCycleException</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowDagCycleException"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowDagCycleException" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when there is a cycle in Dag definition</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowDagDuplicatedIdException">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowDagDuplicatedIdException</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">dag_id</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a></span></em>, <em class="sig-param"><span class="n">incoming</span><span cl [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when a Dag’s ID is already used by another Dag</p>
+<dl class="py method">
+<dt id="airflow.exceptions.AirflowDagDuplicatedIdException.__str__">
+<code class="sig-name descname">__str__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowDagDuplicatedIdException.__str__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowDagDuplicatedIdException.__str__" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowClusterPolicyViolation">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowClusterPolicyViolation</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowClusterPolicyViolation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowClusterPolicyViolation" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.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 id="airflow.exceptions.DagNotFound">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">DagNotFound</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DagNotFound"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.DagNotFound" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowNotFoundException</span></code></a></p>
+<p>Raise when a DAG is not available in the system</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.DagCodeNotFound">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">DagCodeNotFound</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DagCodeNotFound"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.DagCodeNotFound" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.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 id="airflow.exceptions.DagRunNotFound">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">DagRunNotFound</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DagRunNotFound"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.DagRunNotFound" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.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 id="airflow.exceptions.DagRunAlreadyExists">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">DagRunAlreadyExists</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DagRunAlreadyExists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.DagRunAlreadyExists" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowBadRequest" title="airflow.exceptions.AirflowBadRequest"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.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 id="airflow.exceptions.DagFileExists">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">DagFileExists</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DagFileExists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.DagFileExists" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowBadRequest" title="airflow.exceptions.AirflowBadRequest"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.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 id="airflow.exceptions.DuplicateTaskIdFound">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">DuplicateTaskIdFound</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DuplicateTaskIdFound"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.DuplicateTaskIdFound" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.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 id="airflow.exceptions.SerializedDagNotFound">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">SerializedDagNotFound</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#SerializedDagNotFound"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.SerializedDagNotFound" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.DagNotFound" title="airflow.exceptions.DagNotFound"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.DagNotFound</span></code></a></p>
+<p>Raise when DAG is not found in the serialized_dags table in DB</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.SerializationError">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">SerializationError</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#SerializationError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.SerializationError" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>A problem occurred when trying to serialize a DAG</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.TaskNotFound">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">TaskNotFound</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#TaskNotFound"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.TaskNotFound" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowNotFoundException</span></code></a></p>
+<p>Raise when a Task is not available in the system</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.TaskInstanceNotFound">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">TaskInstanceNotFound</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#TaskInstanceNotFound"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.TaskInstanceNotFound" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.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 id="airflow.exceptions.PoolNotFound">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">PoolNotFound</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#PoolNotFound"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.PoolNotFound" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowNotFoundException" title="airflow.exceptions.AirflowNotFoundException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowNotFoundException</span></code></a></p>
+<p>Raise when a Pool is not available in the system</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.NoAvailablePoolSlot">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">NoAvailablePoolSlot</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#NoAvailablePoolSlot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.NoAvailablePoolSlot" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when there is not enough slots in pool</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.DagConcurrencyLimitReached">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">DagConcurrencyLimitReached</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#DagConcurrencyLimitReached"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.DagConcurrencyLimitReached" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when DAG concurrency limit is reached</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.TaskConcurrencyLimitReached">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">TaskConcurrencyLimitReached</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#TaskConcurrencyLimitReached"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.TaskConcurrencyLimitReached" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when task concurrency limit is reached</p>
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.BackfillUnfinished">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">BackfillUnfinished</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">message</span></em>, <em class="sig-param"><span class="n">ti_status</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#BackfillUnfinished"><span class="viewcode-link">[source]</span></a><a cla [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.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 id="airflow.exceptions.FileSyntaxError">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">FileSyntaxError</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#FileSyntaxError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.FileSyntaxError" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.NamedTuple" title="(in Python v3.9)"><code class="xref py py-class docutils literal notranslate"><span class="pre">typing.NamedTuple</span></code></a></p>
+<p>Information about a single error in a file.</p>
+<dl class="py attribute">
+<dt id="airflow.exceptions.FileSyntaxError.line_no">
+<code class="sig-name descname">line_no</code><em class="property"> :Optional[int]</em><a class="reference internal" href="../../../_modules/airflow/exceptions.html#FileSyntaxError.line_no"><span class="viewcode-link">[source]</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 id="airflow.exceptions.FileSyntaxError.message">
+<code class="sig-name descname">message</code><em class="property"> :str</em><a class="reference internal" href="../../../_modules/airflow/exceptions.html#FileSyntaxError.message"><span class="viewcode-link">[source]</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 id="airflow.exceptions.FileSyntaxError.__str__">
+<code class="sig-name descname">__str__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#FileSyntaxError.__str__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.FileSyntaxError.__str__" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.AirflowFileParseException">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">AirflowFileParseException</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">msg</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a></span></em>, <em class="sig-param"><span class="n">file_path</span><span class="p"> [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.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> – The human-readable description of the exception</p></li>
+<li><p><strong>file_path</strong> – A processed file that contains errors</p></li>
+<li><p><strong>parse_errors</strong> – File syntax errors</p></li>
+</ul>
+</dd>
+</dl>
+<dl class="py method">
+<dt id="airflow.exceptions.AirflowFileParseException.__str__">
+<code class="sig-name descname">__str__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../_modules/airflow/exceptions.html#AirflowFileParseException.__str__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.AirflowFileParseException.__str__" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py exception">
+<dt id="airflow.exceptions.ConnectionNotUnique">
+<em class="property">exception </em><code class="sig-prename descclassname">airflow.exceptions.</code><code class="sig-name descname">ConnectionNotUnique</code><a class="reference internal" href="../../../_modules/airflow/exceptions.html#ConnectionNotUnique"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.exceptions.ConnectionNotUnique" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <a class="reference internal" href="#airflow.exceptions.AirflowException" title="airflow.exceptions.AirflowException"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.exceptions.AirflowException</span></code></a></p>
+<p>Raise when multiple values are found for the same conn_id</p>
+</dd></dl>
+
 </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.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="Recipes" href="recipes.html" >
+            <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>
@@ -897,15 +1279,129 @@ 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="#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.exceptions</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</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>
+</ul>
+<ul>
+<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>
+</ul>
+<ul>
+<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>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowConfigException">AirflowConfigException</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowSensorTimeout">AirflowSensorTimeout</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowRescheduleException">AirflowRescheduleException</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowSmartSensorException">AirflowSmartSensorException</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.InvalidStatsNameException">InvalidStatsNameException</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowTaskTimeout">AirflowTaskTimeout</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowWebServerTimeout">AirflowWebServerTimeout</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowSkipException">AirflowSkipException</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowFailException">AirflowFailException</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowDagCycleException">AirflowDagCycleException</a></li>
+</ul>
+<ul>
+<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>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.AirflowClusterPolicyViolation">AirflowClusterPolicyViolation</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.DagNotFound">DagNotFound</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.DagCodeNotFound">DagCodeNotFound</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.DagRunNotFound">DagRunNotFound</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.DagRunAlreadyExists">DagRunAlreadyExists</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.DagFileExists">DagFileExists</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.DuplicateTaskIdFound">DuplicateTaskIdFound</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.SerializedDagNotFound">SerializedDagNotFound</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.SerializationError">SerializationError</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.TaskNotFound">TaskNotFound</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.TaskInstanceNotFound">TaskInstanceNotFound</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.PoolNotFound">PoolNotFound</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.NoAvailablePoolSlot">NoAvailablePoolSlot</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.DagConcurrencyLimitReached">DagConcurrencyLimitReached</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.TaskConcurrencyLimitReached">TaskConcurrencyLimitReached</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.BackfillUnfinished">BackfillUnfinished</a></li>
+</ul>
+<ul>
+<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>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.message">message</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.FileSyntaxError.__str__">__str__</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<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>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.exceptions.ConnectionNotUnique">ConnectionNotUnique</a></li>
 </ul>
 </li>
 </ul>
@@ -932,7 +1428,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/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">
@@ -1066,15 +1562,16 @@ 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 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/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/jira-links.js"></script>
 </body>
 </html>
diff --git a/docs-archive/docker-stack/recipes.html b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/base_executor/index.html
similarity index 58%
copy from docs-archive/docker-stack/recipes.html
copy to docs-archive/apache-airflow/2.1.4/_api/airflow/executors/base_executor/index.html
index 4ce155e..64c5804 100644
--- a/docs-archive/docker-stack/recipes.html
+++ b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/base_executor/index.html
@@ -9,15 +9,16 @@
 <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/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" />
+        <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/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" />
     <script type="application/javascript">
         var doNotTrack = false;
         window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
@@ -271,7 +272,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -282,7 +283,7 @@
 </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" />
@@ -312,19 +313,162 @@
 
 
 <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>
-</ul>
-</li>
+    <p class="caption"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.base_executor.PARALLELISM">PARALLELISM</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.base_executor.NOT_STARTED_MESSAGE">NOT_STARTED_MESSAGE</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.base_executor.CommandType">CommandType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.base_executor.QueuedTaskInstanceType">QueuedTaskInstanceType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.base_executor.EventBufferValueType">EventBufferValueType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor">BaseExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.job_id">job_id</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.slots_available">slots_available</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.__repr__">__repr__</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_command">queue_command</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_task_instance">queue_task_instance</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.has_task">has_task</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.heartbeat">heartbeat</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.order_queued_tasks_by_priority">order_queued_tasks_by_priority</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.trigger_tasks">trigger_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.change_state">change_state</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.fail">fail</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.success">success</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.get_event_buffer">get_event_buffer</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.validate_command">validate_command</a></li>
+</ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.debug_dump">debug_dump</a></li>
+</ul>
+</li>
+</ul>
+</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="../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>
+</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>
@@ -408,7 +552,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -419,7 +563,7 @@
 </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" />
@@ -449,19 +593,162 @@
 
 
 <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>
-</ul>
-</li>
+    <p class="caption"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.base_executor.PARALLELISM">PARALLELISM</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.base_executor.NOT_STARTED_MESSAGE">NOT_STARTED_MESSAGE</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.base_executor.CommandType">CommandType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.base_executor.QueuedTaskInstanceType">QueuedTaskInstanceType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.base_executor.EventBufferValueType">EventBufferValueType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor">BaseExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.job_id">job_id</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.slots_available">slots_available</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.__repr__">__repr__</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_command">queue_command</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_task_instance">queue_task_instance</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.has_task">has_task</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.heartbeat">heartbeat</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.order_queued_tasks_by_priority">order_queued_tasks_by_priority</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.trigger_tasks">trigger_tasks</a></li>
+</ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.change_state">change_state</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.fail">fail</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.success">success</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.get_event_buffer">get_event_buffer</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.validate_command">validate_command</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.debug_dump">debug_dump</a></li>
+</ul>
+</li>
+</ul>
+</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="../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>
+</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>
@@ -550,9 +837,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="recipes.html"> Recipes</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>
@@ -563,193 +854,260 @@
                                 <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 v5.0.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 v5.0.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> BASE_AIRFLOW_IMAGE
-<span class="k">FROM</span> <span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span> <span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span> <span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;pipefail&quot;</span><span class="p">,</span> <span class="s2">&quot;-e&quot;</span><span class="p">,</span> <span class="s2">&quot;-u&quot;</span><span class="p">,</span> <span class="s2">&quot;-x&quot;</span><span class="p">,</span> <span class="s2">&quot;-c&quot;</span><span clas [...]
-
-<span class="k">USER</span><span class="s"> 0</span>
-
-<span class="k">ARG</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="nv">GCLOUD_HOME</span><span class="o">=</span>/opt/google-cloud-sdk
-
-<span class="k">ENV</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="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> gcloud --version
-
-<span class="k">USER</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>
-  --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> BASE_AIRFLOW_IMAGE
-
-<span class="k">FROM</span> <span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span> <span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span> <span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;pipefail&quot;</span><span class="p">,</span> <span class="s2">&quot;-e&quot;</span><span class="p">,</span> <span class="s2">&quot;-u&quot;</span><span class="p">,</span> <span class="s2">&quot;-x&quot;</span><span class="p">,</span> <span class="s2">&quot;-c&quot;</span><span clas [...]
-
-<span class="k">USER</span><span class="s"> 0</span>
-
-<span class="c"># Install Java</span>
-<span class="k">RUN</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="nv">JAVA_HOME</span><span class="o">=</span>/usr/lib/jvm/adoptopenjdk-8-hotspot-jre-amd64
-
-<span class="k">RUN</span> mkdir -p /opt/spark/jars
-
-<span class="c"># Install Apache Hadoop</span>
-<span class="k">ARG</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="nv">HADOOP_HOME</span><span class="o">=</span>/opt/hadoop
-<span class="k">ENV</span> <span class="nv">HADOOP_CONF_DIR</span><span class="o">=</span>/etc/hadoop
-<span class="k">ENV</span> <span class="nv">MULTIHOMED_NETWORK</span><span class="o">=</span><span class="m">1</span>
-<span class="k">ENV</span> <span class="nv">USER</span><span class="o">=</span>root
-
-<span class="k">RUN</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="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="nv">HIVE_VERSION</span><span class="o">=</span><span class="m">2</span>.3.7
-<span class="k">ENV</span> <span class="nv">HIVE_HOME</span><span class="o">=</span>/opt/hive
-<span class="k">ENV</span> <span class="nv">HIVE_CONF_DIR</span><span class="o">=</span>/etc/hive
-
-<span class="k">RUN</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="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="nv">GCS_VARIANT</span><span class="o">=</span><span class="s2">&quot;hadoop2&quot;</span>
-<span class="k">ARG</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="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="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="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>
-  --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.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><p>Base executor - this is the base class for all the implemented executors.</p>
+</p>
+<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 id="airflow.executors.base_executor.PARALLELISM">
+<code class="sig-prename descclassname">airflow.executors.base_executor.</code><code class="sig-name descname">PARALLELISM</code><em class="property"> :int</em><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#PARALLELISM"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.PARALLELISM" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.base_executor.NOT_STARTED_MESSAGE">
+<code class="sig-prename descclassname">airflow.executors.base_executor.</code><code class="sig-name descname">NOT_STARTED_MESSAGE</code><em class="property"> = The executor should be started first!</em><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#NOT_STARTED_MESSAGE"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.NOT_STARTED_MESSAGE" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.base_executor.CommandType">
+<code class="sig-prename descclassname">airflow.executors.base_executor.</code><code class="sig-name descname">CommandType</code><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#CommandType"><span class="viewcode-link">[source]</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 id="airflow.executors.base_executor.QueuedTaskInstanceType">
+<code class="sig-prename descclassname">airflow.executors.base_executor.</code><code class="sig-name descname">QueuedTaskInstanceType</code><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#QueuedTaskInstanceType"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.QueuedTaskInstanceType" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.base_executor.EventBufferValueType">
+<code class="sig-prename descclassname">airflow.executors.base_executor.</code><code class="sig-name descname">EventBufferValueType</code><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#EventBufferValueType"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.EventBufferValueType" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py class">
+<dt id="airflow.executors.base_executor.BaseExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.base_executor.</code><code class="sig-name descname">BaseExecutor</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">parallelism</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)">int</a></span> <span class="o">=</span> <span class="default_value">PARALLELISM</span> [...]
+<dd><p>Bases: <code class="xref py py-class 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> – 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 id="airflow.executors.base_executor.BaseExecutor.job_id">
+<code class="sig-name descname">job_id</code><em class="property"> :Optional[str]</em><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.job_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.job_id" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt id="airflow.executors.base_executor.BaseExecutor.slots_available">
+<code class="sig-name descname">slots_available</code><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.slots_available"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.slots_available" title="Permalink to this definition">¶</a></dt>
+<dd><p>Number of new tasks this executor instance can accept</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.__repr__">
+<code class="sig-name descname">__repr__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.__repr__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.__repr__" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.start">
+<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd><p>Executors may need to get things started.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.queue_command">
+<code class="sig-name descname">queue_command</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">task_instance</span><span class="p">:</span> <span class="n">TaskInstance</span></em>, <em class="sig-param"><span class="n">command</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#airflow.executors.base_executor.CommandType" title="airflow.executors.base_executor.CommandType"> [...]
+<dd><p>Queues command to task</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.queue_task_instance">
+<code class="sig-name descname">queue_task_instance</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">task_instance</span><span class="p">:</span> <span class="n">TaskInstance</span></em>, <em class="sig-param"><span class="n">mark_success</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)">bool</a [...]
+<dd><p>Queues task instance.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.has_task">
+<code class="sig-name descname">has_task</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">task_instance</span><span class="p">:</span> <span class="n">TaskInstance</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">[source]</span></a><a class="headerlink" href="#airflow.e [...]
+<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> – 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>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd><p>Sync will get called periodically by the heartbeat method.
+Executors should override this to perform gather statuses.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.heartbeat">
+<code class="sig-name descname">heartbeat</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.heartbeat"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.heartbeat" title="Permalink to this definition">¶</a></dt>
+<dd><p>Heartbeat sent to trigger new jobs.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.order_queued_tasks_by_priority">
+<code class="sig-name descname">order_queued_tasks_by_priority</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</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">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.order_queued_tasks_by_priority" title="Permal [...]
+<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>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.trigger_tasks">
+<code class="sig-name descname">trigger_tasks</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">open_slots</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)">int</a></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.h [...]
+<dd><p>Triggers tasks</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>open_slots</strong> – Number of open slots</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.change_state">
+<code class="sig-name descname">change_state</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">state</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a></span></em>, <em class [...]
+<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> – Unique key for the task instance</p></li>
+<li><p><strong>state</strong> – State to set for the task.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.fail">
+<code class="sig-name descname">fail</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">info</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html# [...]
+<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> – Unique key for the task instance</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.success">
+<code class="sig-name descname">success</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">info</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.ht [...]
+<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> – Unique key for the task instance</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.get_event_buffer">
+<code class="sig-name descname">get_event_buffer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">dag_ids</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.get_event_buffer"><span class="viewcode-link">[source]</span></a><a class="headerlink" hre [...]
+<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> – to 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>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.execute_async">
+<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">command</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#airflow.executors.base_executor.CommandType" title="airflow.executors.base_executor.CommandType">Command [...]
+<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> – Unique key for the task instance</p></li>
+<li><p><strong>command</strong> – Command to run</p></li>
+<li><p><strong>queue</strong> – name of the queue</p></li>
+<li><p><strong>executor_config</strong> – Configuration passed to the executor.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.end" title="Permalink to this definition">¶</a></dt>
+<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>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.terminate">
+<code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/base_executor.html#BaseExecutor.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.terminate" title="Permalink to this definition">¶</a></dt>
+<dd><p>This method is called when the daemon receives a SIGTERM</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.try_adopt_task_instances">
+<code class="sig-name descname">try_adopt_task_instances</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">tis</span><span class="p">:</span> <span class="n">List<span class="p">[</span>TaskInstance<span class="p">]</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 [...]
+<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.9)">list</a>[<a class="reference internal" href="../../models/index.html#airflow.models.TaskInstance" title="airflow.models.TaskInstance">airflow.models.TaskInstance</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.validate_command">
+<em class="property">static </em><code class="sig-name descname">validate_command</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">command</span><span class="p">:</span> <span class="n">List<span class="p">[</span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a><span class="p">]</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airfl [...]
+<dd><p>Check if the command to execute is airflow command</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.base_executor.BaseExecutor.debug_dump">
+<code class="sig-name descname">debug_dump</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</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">[source]</span></a><a class="headerlink" href="#airflow.executors.base_executor.BaseExecutor.debug_dump" title="Permalink to this definition">¶</a></dt>
+<dd><p>Called in response to SIGUSR2 by the scheduler</p>
+</dd></dl>
+
+</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" href="../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.celery_executor" href="../celery_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
             </a>
     </div>
@@ -819,9 +1177,89 @@ 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.base_executor</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.PARALLELISM">PARALLELISM</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.NOT_STARTED_MESSAGE">NOT_STARTED_MESSAGE</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.CommandType">CommandType</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.QueuedTaskInstanceType">QueuedTaskInstanceType</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.EventBufferValueType">EventBufferValueType</a></li>
+</ul>
+<ul>
+<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>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.slots_available">slots_available</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.__repr__">__repr__</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.start">start</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_command">queue_command</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.queue_task_instance">queue_task_instance</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.has_task">has_task</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.heartbeat">heartbeat</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.order_queued_tasks_by_priority">order_queued_tasks_by_priority</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.trigger_tasks">trigger_tasks</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.change_state">change_state</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.fail">fail</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.success">success</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.get_event_buffer">get_event_buffer</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.end">end</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.validate_command">validate_command</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.base_executor.BaseExecutor.debug_dump">debug_dump</a></li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -846,7 +1284,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/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">
@@ -980,15 +1418,16 @@ 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 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/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/jira-links.js"></script>
 </body>
 </html>
diff --git a/docs-archive/docker-stack/entrypoint.html b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/celery_executor/index.html
similarity index 53%
copy from docs-archive/docker-stack/entrypoint.html
copy to docs-archive/apache-airflow/2.1.4/_api/airflow/executors/celery_executor/index.html
index 88c9f81..7e30215 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/celery_executor/index.html
@@ -9,15 +9,16 @@
 <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/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" />
+        <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/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" />
     <script type="application/javascript">
         var doNotTrack = false;
         window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
@@ -271,7 +272,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -282,7 +283,7 @@
 </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" />
@@ -312,27 +313,192 @@
 
 
 <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="#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"><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="../../../../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="../../../../changelog.html">Changelog</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>
-</li>
+<p class="caption"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.celery_executor.log">log</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_FETCH_ERR_MSG_HEADER">CELERY_FETCH_ERR_MSG_HEADER</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER">CELERY_SEND_ERR_MSG_HEADER</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.OPERATION_TIMEOUT">OPERATION_TIMEOUT</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.celery_configuration">celery_configuration</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.app">app</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.execute_command">execute_command</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor._execute_in_fork">_execute_in_fork</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor._execute_in_subprocess">_execute_in_subprocess</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.ExceptionWithTraceback">ExceptionWithTraceback</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.TaskInstanceInCelery">TaskInstanceInCelery</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.send_task_to_executor">send_task_to_executor</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.on_celery_import_modules">on_celery_import_modules</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor">CeleryExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._num_tasks_per_send_process">_num_tasks_per_send_process</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.trigger_tasks">trigger_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._process_tasks">_process_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._send_tasks_to_celery">_send_tasks_to_celery</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._check_for_stalled_adopted_tasks">_check_for_stalled_adopted_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.debug_dump">debug_dump</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_all_task_states">update_all_task_states</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.change_state">change_state</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_task_state">update_task_state</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><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-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption"><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 class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.fetch_celery_task_state">fetch_celery_task_state</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher">BulkStateFetcher</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._tasks_list_to_task_ids">_tasks_list_to_task_ids</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher.get_many">get_many</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._get_many_from_kv_backend">_get_many_from_kv_backend</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._get_many_from_db_backend">_get_many_from_db_backend</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._prepare_state_and_info_by_task_dict">_prepare_state_and_info_by_task_dict</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._get_many_using_multiprocessing">_get_many_using_multiprocessing</a></li>
+</ul>
+</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="../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>
+</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>
@@ -416,7 +582,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -427,7 +593,7 @@
 </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" />
@@ -457,27 +623,192 @@
 
 
 <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="#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"><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="../../../../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="../../../../changelog.html">Changelog</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>
-</li>
+<p class="caption"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.celery_executor.log">log</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_FETCH_ERR_MSG_HEADER">CELERY_FETCH_ERR_MSG_HEADER</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER">CELERY_SEND_ERR_MSG_HEADER</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.OPERATION_TIMEOUT">OPERATION_TIMEOUT</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.celery_configuration">celery_configuration</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.app">app</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.execute_command">execute_command</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor._execute_in_fork">_execute_in_fork</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor._execute_in_subprocess">_execute_in_subprocess</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.ExceptionWithTraceback">ExceptionWithTraceback</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.TaskInstanceInCelery">TaskInstanceInCelery</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.send_task_to_executor">send_task_to_executor</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.on_celery_import_modules">on_celery_import_modules</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor">CeleryExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._num_tasks_per_send_process">_num_tasks_per_send_process</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.trigger_tasks">trigger_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._process_tasks">_process_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._send_tasks_to_celery">_send_tasks_to_celery</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._check_for_stalled_adopted_tasks">_check_for_stalled_adopted_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.debug_dump">debug_dump</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_all_task_states">update_all_task_states</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.change_state">change_state</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_task_state">update_task_state</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><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-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption"><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 class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.fetch_celery_task_state">fetch_celery_task_state</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher">BulkStateFetcher</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._tasks_list_to_task_ids">_tasks_list_to_task_ids</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher.get_many">get_many</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._get_many_from_kv_backend">_get_many_from_kv_backend</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._get_many_from_db_backend">_get_many_from_db_backend</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._prepare_state_and_info_by_task_dict">_prepare_state_and_info_by_task_dict</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._get_many_using_multiprocessing">_get_many_using_multiprocessing</a></li>
+</ul>
+</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="../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>
+</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>
@@ -566,9 +897,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>
@@ -579,255 +914,288 @@
                                 <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 “execution” 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 and GID can be passed via
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code> and <code class="docutils literal notranslate"><span class="pre">AIRFLOW_GID</span></code> variables as described in
-<a class="reference external" href="/docs/apache-airflow/stable/start/docker.html#initializing-docker-compose-environment" title="(in apache-airflow v2.1.3)"><span class="xref std std-ref">Initializing docker compose environment</span></a>.</p>
-<p>In case <code class="docutils literal notranslate"><span class="pre">GID</span></code> is set to <code class="docutils literal notranslate"><span class="pre">0</span></code>, the user can be any UID, but 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 “other” 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 “group write” 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 “arbitrary” user creates a folder (for example in a mounted volume), that
-folder will have a “group write” 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="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 “Support arbitrary user ids” 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 “bash” - 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.1.2-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.1.2-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 “airflow” - 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.1.2-python3.6 airflow webserver
-</pre></div>
-</div>
-<p>If there are any other arguments - they are simply passed to the “airflow” command</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.1.2-python3.6 version
-<span class="m">2</span>.1.2
-</pre></div>
-</div>
-</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">
-<colgroup>
-<col style="width: 10%" />
-<col style="width: 24%" />
-<col style="width: 65%" />
-</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>
-</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:main-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:main-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:master-python3.8 webserver
-</pre></div>
-</div>
-<p>This method is only available starting from Docker image of Airflow 2.1.1 and above.</p>
+  <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><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>
+</p>
+<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 id="airflow.executors.celery_executor.log">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">log</code><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#log"><span class="viewcode-link">[source]</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 id="airflow.executors.celery_executor.CELERY_FETCH_ERR_MSG_HEADER">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">CELERY_FETCH_ERR_MSG_HEADER</code><em class="property"> = Error fetching Celery task state</em><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CELERY_FETCH_ERR_MSG_HEADER"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.CELERY_FETCH_ERR_MSG_HEADER" title="Permalink to  [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">CELERY_SEND_ERR_MSG_HEADER</code><em class="property"> = Error sending Celery task</em><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CELERY_SEND_ERR_MSG_HEADER"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER" title="Permalink to this defin [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.celery_executor.OPERATION_TIMEOUT">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">OPERATION_TIMEOUT</code><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#OPERATION_TIMEOUT"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.OPERATION_TIMEOUT" title="Permalink to this definition">¶</a></dt>
+<dd><p>To start the celery worker, run the command:
+airflow celery worker</p>
+</dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.celery_executor.celery_configuration">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">celery_configuration</code><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#celery_configuration"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.celery_configuration" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.celery_executor.app">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">app</code><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#app"><span class="viewcode-link">[source]</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 id="airflow.executors.celery_executor.execute_command">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">execute_command</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">command_to_exec</span><span class="p">:</span> <span class="n">CommandType</span></em><span class="sig-paren">)</span> &#x2192; <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.9)">None</a><a class="reference internal" href= [...]
+<dt>
+<code class="sig-name descname">Executes command.</code></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt id="airflow.executors.celery_executor._execute_in_fork">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">_execute_in_fork</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">command_to_exec</span><span class="p">:</span> <span class="n">CommandType</span></em><span class="sig-paren">)</span> &#x2192; <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.9)">None</a><a class="reference internal" href [...]
+<dd></dd></dl>
+
+<dl class="py function">
+<dt id="airflow.executors.celery_executor._execute_in_subprocess">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">_execute_in_subprocess</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">command_to_exec</span><span class="p">:</span> <span class="n">CommandType</span></em><span class="sig-paren">)</span> &#x2192; <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.9)">None</a><a class="reference internal [...]
+<dd></dd></dl>
+
+<dl class="py class">
+<dt id="airflow.executors.celery_executor.ExceptionWithTraceback">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">ExceptionWithTraceback</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">exception</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.9)">Exception</a></span></em>, <em class="sig-param"><span class="n">exce [...]
+<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.9)"><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.9)"><em>str</em></a>) – The stacktrace to wrap</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.celery_executor.TaskInstanceInCelery">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">TaskInstanceInCelery</code><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#TaskInstanceInCelery"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.TaskInstanceInCelery" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt id="airflow.executors.celery_executor.send_task_to_executor">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">send_task_to_executor</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">task_tuple</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#airflow.executors.celery_executor.TaskInstanceInCelery" title="airflow.executors.celery_executor.TaskInstanceInCelery">TaskInstanceInCelery</a></span></em><span class="sig-paren">)</span [...]
+<dt>
+<code class="sig-name descname">Sends task to executor.</code></dt>
+<dd></dd></dl>
+
+<dl class="py function">
+<dt id="airflow.executors.celery_executor.on_celery_import_modules">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">on_celery_import_modules</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#on_celery_import_modules">< [...]
+<dt>
+<code class="sig-name descname">Preload some &quot;expensive&quot; airflow modules so that every task process doesn't have to import it again and</code></dt>
+<dt>
+<code class="sig-name descname">again.</code></dt>
+<dd><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 id="airflow.executors.celery_executor.CeleryExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">CeleryExecutor</code><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.CeleryExecutor" title="Permalink to this definition">¶</a></dt>
+<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-class 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 method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor.start">
+<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.CeleryExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor._num_tasks_per_send_process">
+<code class="sig-name descname">_num_tasks_per_send_process</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">to_send_count</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)">int</a></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executor [...]
+<dd><p>How many Celery tasks should each worker process send.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Number of tasks that should be sent per process</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/functions.html#int" title="(in Python v3.9)">int</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor.trigger_tasks">
+<code class="sig-name descname">trigger_tasks</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">open_slots</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)">int</a></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor [...]
+<dd><p>Overwrite trigger_tasks function from BaseExecutor</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>open_slots</strong> – Number of open slots</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor._process_tasks">
+<code class="sig-name descname">_process_tasks</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">task_tuples_to_send</span><span class="p">:</span> <span class="n">List<span class="p">[</span><a class="reference internal" href="#airflow.executors.celery_executor.TaskInstanceInCelery" title="airflow.executors.celery_executor.TaskInstanceInCelery">TaskInstanceInCelery</a><span class="p">]</span></span></em><s [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor._send_tasks_to_celery">
+<code class="sig-name descname">_send_tasks_to_celery</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">task_tuples_to_send</span><span class="p">:</span> <span class="n">List<span class="p">[</span><a class="reference internal" href="#airflow.executors.celery_executor.TaskInstanceInCelery" title="airflow.executors.celery_executor.TaskInstanceInCelery">TaskInstanceInCelery</a><span class="p">]</span></span> [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.CeleryExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor._check_for_stalled_adopted_tasks">
+<code class="sig-name descname">_check_for_stalled_adopted_tasks</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor._check_for_stalled_adopted_tasks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.CeleryExecutor._check_for_stalled_adopted_tasks" [...]
+<dd><p>See if any of the tasks we adopted from another Executor run have not
+progressed after the configured timeout.</p>
+<p>If they haven’t, they likely never made it to Celery, and we should
+just resend them. We do that by clearing the state and letting the
+normal scheduler loop deal with that</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor.debug_dump">
+<code class="sig-name descname">debug_dump</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</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">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.CeleryExecutor.debug_dump" title="Permalink to this definition">¶</a></dt>
+<dd><p>Called in response to SIGUSR2 by the scheduler</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor.update_all_task_states">
+<code class="sig-name descname">update_all_task_states</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</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">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.CeleryExecutor.update_all_task_states" title="Permalink to this defi [...]
+<dd><p>Updates states of the tasks.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor.change_state">
+<code class="sig-name descname">change_state</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">state</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a></span></em>, <em class [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor.update_task_state">
+<code class="sig-name descname">update_task_state</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">state</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a></span></em>, <em  [...]
+<dd><p>Updates state of a single task.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">synchronous</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)">bool</a></span> <span class="o">=</span> <span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" h [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor.execute_async">
+<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">command</span><span class="p">:</span> <span class="n">CommandType</span></em>, <em class="sig-param"><span class="n">queue</span><span class="p">:</span> <span class="n">Optional<span class="p">[ [...]
+<dd><p>Do not allow async execution for Celery executor.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor.terminate">
+<code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#CeleryExecutor.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.CeleryExecutor.terminate" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.CeleryExecutor.try_adopt_task_instances">
+<code class="sig-name descname">try_adopt_task_instances</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">tis</span><span class="p">:</span> <span class="n">List<span class="p">[</span>TaskInstance<span class="p">]</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 c [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py function">
+<dt id="airflow.executors.celery_executor.fetch_celery_task_state">
+<code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">fetch_celery_task_state</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">async_result</span><span class="p">:</span> <span class="n">AsyncResult</span></em><span class="sig-paren">)</span> &#x2192; Tuple<span class="p">[</span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a><spa [...]
+<dt>
+<code class="sig-name descname">Fetch and return the state of the given celery task. The scope of this function is</code></dt>
+<dt>
+<code class="sig-name descname">global so that it can be called by subprocesses in the pool.</code></dt>
+<dd><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.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.9)"><em>tuple</em></a><em>(</em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a><em>, </em><a class="reference external" href="https://docs.celeryproject.org/en/stable/reference/celery.result.html#celery.result.AsyncResult" title="(in Celery  [...]
+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.9)">tuple</a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a>, <a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a>, <a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title= [...]
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py class">
+<dt id="airflow.executors.celery_executor.BulkStateFetcher">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.celery_executor.</code><code class="sig-name descname">BulkStateFetcher</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">sync_parallelism</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#BulkStateFetcher"><span class="view [...]
+<dd><p>Bases: <code class="xref py py-class 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 id="airflow.executors.celery_executor.BulkStateFetcher._tasks_list_to_task_ids">
+<code class="sig-name descname">_tasks_list_to_task_ids</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">async_tasks</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#BulkStateFetcher._tasks_list_to_task_ids"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.B [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.BulkStateFetcher.get_many">
+<code class="sig-name descname">get_many</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">async_results</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">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_executor.BulkStateFetcher.get_many" ti [...]
+<dd><p>Gets status for many Celery tasks using the best method available.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.BulkStateFetcher._get_many_from_kv_backend">
+<code class="sig-name descname">_get_many_from_kv_backend</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">async_tasks</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#BulkStateFetcher._get_many_from_kv_backend"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_execut [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.BulkStateFetcher._get_many_from_db_backend">
+<code class="sig-name descname">_get_many_from_db_backend</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">async_tasks</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#BulkStateFetcher._get_many_from_db_backend"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_execut [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.BulkStateFetcher._prepare_state_and_info_by_task_dict">
+<em class="property">static </em><code class="sig-name descname">_prepare_state_and_info_by_task_dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">task_ids</span></em>, <em class="sig-param"><span class="n">task_results_by_task_id</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#BulkStateFetcher._prepare_state_and_info_by_task_dict"><span class="viewcode-link">[source] [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_executor.BulkStateFetcher._get_many_using_multiprocessing">
+<code class="sig-name descname">_get_many_using_multiprocessing</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">async_results</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_executor.html#BulkStateFetcher._get_many_using_multiprocessing"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors [...]
+<dd></dd></dl>
+
+</dd></dl>
+
 </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>
@@ -897,15 +1265,117 @@ 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="#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="#airflow.executors.celery_executor.log">log</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_FETCH_ERR_MSG_HEADER">CELERY_FETCH_ERR_MSG_HEADER</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER">CELERY_SEND_ERR_MSG_HEADER</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.OPERATION_TIMEOUT">OPERATION_TIMEOUT</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.celery_configuration">celery_configuration</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.app">app</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.execute_command">execute_command</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor._execute_in_fork">_execute_in_fork</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor._execute_in_subprocess">_execute_in_subprocess</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.ExceptionWithTraceback">ExceptionWithTraceback</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.TaskInstanceInCelery">TaskInstanceInCelery</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.send_task_to_executor">send_task_to_executor</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.on_celery_import_modules">on_celery_import_modules</a></li>
+</ul>
+<ul>
+<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.start">start</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._num_tasks_per_send_process">_num_tasks_per_send_process</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.trigger_tasks">trigger_tasks</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._process_tasks">_process_tasks</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._send_tasks_to_celery">_send_tasks_to_celery</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor._check_for_stalled_adopted_tasks">_check_for_stalled_adopted_tasks</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.debug_dump">debug_dump</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_all_task_states">update_all_task_states</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.change_state">change_state</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.update_task_state">update_task_state</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.end">end</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.CeleryExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.fetch_celery_task_state">fetch_celery_task_state</a></li>
+</ul>
+<ul>
+<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._tasks_list_to_task_ids">_tasks_list_to_task_ids</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher.get_many">get_many</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._get_many_from_kv_backend">_get_many_from_kv_backend</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._get_many_from_db_backend">_get_many_from_db_backend</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._prepare_state_and_info_by_task_dict">_prepare_state_and_info_by_task_dict</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_executor.BulkStateFetcher._get_many_using_multiprocessing">_get_many_using_multiprocessing</a></li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -932,7 +1402,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">
@@ -1066,15 +1536,16 @@ 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 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/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/jira-links.js"></script>
 </body>
 </html>
diff --git a/docs-archive/docker-stack/recipes.html b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/celery_kubernetes_executor/index.html
similarity index 63%
copy from docs-archive/docker-stack/recipes.html
copy to docs-archive/apache-airflow/2.1.4/_api/airflow/executors/celery_kubernetes_executor/index.html
index 4ce155e..1413a2b 100644
--- a/docs-archive/docker-stack/recipes.html
+++ b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/celery_kubernetes_executor/index.html
@@ -9,15 +9,16 @@
 <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/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" />
+        <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/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" />
     <script type="application/javascript">
         var doNotTrack = false;
         window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
@@ -271,7 +272,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -282,7 +283,7 @@
 </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" />
@@ -312,19 +313,132 @@
 
 
 <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>
-</ul>
-</li>
+    <p class="caption"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor">CeleryKubernetesExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.KUBERNETES_QUEUE">KUBERNETES_QUEUE</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queued_tasks">queued_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.running">running</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.job_id">job_id</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.slots_available">slots_available</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_command">queue_command</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_task_instance">queue_task_instance</a></li>
+</ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.has_task">has_task</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.heartbeat">heartbeat</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.get_event_buffer">get_event_buffer</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor._router">_router</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.debug_dump">debug_dump</a></li>
+</ul>
+</li>
+</ul>
+</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="../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>
+</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>
@@ -408,7 +522,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -419,7 +533,7 @@
 </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" />
@@ -449,19 +563,132 @@
 
 
 <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>
-</ul>
-</li>
+    <p class="caption"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor">CeleryKubernetesExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.KUBERNETES_QUEUE">KUBERNETES_QUEUE</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queued_tasks">queued_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.running">running</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.job_id">job_id</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.slots_available">slots_available</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_command">queue_command</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_task_instance">queue_task_instance</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.has_task">has_task</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.heartbeat">heartbeat</a></li>
+</ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.get_event_buffer">get_event_buffer</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor._router">_router</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.debug_dump">debug_dump</a></li>
+</ul>
+</li>
+</ul>
+</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="../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>
+</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>
@@ -550,9 +777,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="recipes.html"> Recipes</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>
@@ -563,193 +794,163 @@
                                 <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 v5.0.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 v5.0.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> BASE_AIRFLOW_IMAGE
-<span class="k">FROM</span> <span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span> <span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span> <span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;pipefail&quot;</span><span class="p">,</span> <span class="s2">&quot;-e&quot;</span><span class="p">,</span> <span class="s2">&quot;-u&quot;</span><span class="p">,</span> <span class="s2">&quot;-x&quot;</span><span class="p">,</span> <span class="s2">&quot;-c&quot;</span><span clas [...]
-
-<span class="k">USER</span><span class="s"> 0</span>
-
-<span class="k">ARG</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="nv">GCLOUD_HOME</span><span class="o">=</span>/opt/google-cloud-sdk
-
-<span class="k">ENV</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="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> gcloud --version
-
-<span class="k">USER</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>
-  --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> BASE_AIRFLOW_IMAGE
-
-<span class="k">FROM</span> <span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span> <span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span> <span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;pipefail&quot;</span><span class="p">,</span> <span class="s2">&quot;-e&quot;</span><span class="p">,</span> <span class="s2">&quot;-u&quot;</span><span class="p">,</span> <span class="s2">&quot;-x&quot;</span><span class="p">,</span> <span class="s2">&quot;-c&quot;</span><span clas [...]
-
-<span class="k">USER</span><span class="s"> 0</span>
-
-<span class="c"># Install Java</span>
-<span class="k">RUN</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="nv">JAVA_HOME</span><span class="o">=</span>/usr/lib/jvm/adoptopenjdk-8-hotspot-jre-amd64
-
-<span class="k">RUN</span> mkdir -p /opt/spark/jars
-
-<span class="c"># Install Apache Hadoop</span>
-<span class="k">ARG</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="nv">HADOOP_HOME</span><span class="o">=</span>/opt/hadoop
-<span class="k">ENV</span> <span class="nv">HADOOP_CONF_DIR</span><span class="o">=</span>/etc/hadoop
-<span class="k">ENV</span> <span class="nv">MULTIHOMED_NETWORK</span><span class="o">=</span><span class="m">1</span>
-<span class="k">ENV</span> <span class="nv">USER</span><span class="o">=</span>root
-
-<span class="k">RUN</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="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="nv">HIVE_VERSION</span><span class="o">=</span><span class="m">2</span>.3.7
-<span class="k">ENV</span> <span class="nv">HIVE_HOME</span><span class="o">=</span>/opt/hive
-<span class="k">ENV</span> <span class="nv">HIVE_CONF_DIR</span><span class="o">=</span>/etc/hive
-
-<span class="k">RUN</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="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="nv">GCS_VARIANT</span><span class="o">=</span><span class="s2">&quot;hadoop2&quot;</span>
-<span class="k">ARG</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="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="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="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>
-  --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.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>
+<dl class="py class">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.celery_kubernetes_executor.</code><code class="sig-name descname">CeleryKubernetesExecutor</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">celery_executor</span></em>, <em class="sig-param"><span class="n">kubernetes_executor</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.htm [...]
+<dd><p>Bases: <code class="xref py py-class 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="py attribute">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.KUBERNETES_QUEUE">
+<code class="sig-name descname">KUBERNETES_QUEUE</code><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.KUBERNETES_QUEUE"><span class="viewcode-link">[source]</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 attribute">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queued_tasks">
+<code class="sig-name descname">queued_tasks</code><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.queued_tasks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queued_tasks" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return queued tasks from celery and kubernetes executor</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.running">
+<code class="sig-name descname">running</code><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.running"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.running" title="Permalink to this definition">¶</a></dt>
+<dd><p>Return running tasks from celery and kubernetes executor</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.job_id">
+<code class="sig-name descname">job_id</code><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.job_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.job_id" title="Permalink to this definition">¶</a></dt>
+<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>
+</dd></dl>
+
+<dl class="py attribute">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.slots_available">
+<code class="sig-name descname">slots_available</code><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.slots_available"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.slots_available" title="Permalink to this definition">¶</a></dt>
+<dd><p>Number of new tasks this executor instance can accept</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.start">
+<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</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">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.start" title="Permalink to this definition">¶ [...]
+<dd><p>Start celery and kubernetes executor</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_command">
+<code class="sig-name descname">queue_command</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">task_instance</span><span class="p">:</span> <span class="n">TaskInstance</span></em>, <em class="sig-param"><span class="n">command</span><span class="p">:</span> <span class="n">CommandType</span></em>, <em class="sig-param"><span class="n">priority</span><span class="p">:</span> <span class="n"><a class="refer [...]
+<dd><p>Queues command via celery or kubernetes executor</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_task_instance">
+<code class="sig-name descname">queue_task_instance</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">task_instance</span><span class="p">:</span> <span class="n">TaskInstance</span></em>, <em class="sig-param"><span class="n">mark_success</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)">bool</a [...]
+<dd><p>Queues task instance via celery or kubernetes executor</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.has_task">
+<code class="sig-name descname">has_task</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">task_instance</span><span class="p">:</span> <span class="n">TaskInstance</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">[source]</span></a><a class="hea [...]
+<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> – 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>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.heartbeat">
+<code class="sig-name descname">heartbeat</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</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">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.heartbeat" title="Permalink to this d [...]
+<dd><p>Heartbeat sent to trigger new jobs in celery and kubernetes executor</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.get_event_buffer">
+<code class="sig-name descname">get_event_buffer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">dag_ids</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.get_event_buffer"><span class="viewcode-link">[source]</span></a> [...]
+<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> – to 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>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.try_adopt_task_instances">
+<code class="sig-name descname">try_adopt_task_instances</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">tis</span><span class="p">:</span> <span class="n">List<span class="p">[</span>TaskInstance<span class="p">]</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor.try_adopt_ta [...]
+<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.9)">list</a>[<a class="reference internal" href="../../models/index.html#airflow.models.TaskInstance" title="airflow.models.TaskInstance">airflow.models.TaskInstance</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</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">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd><p>End celery and kubernetes executor</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.terminate">
+<code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</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">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.terminate" title="Permalink to this d [...]
+<dd><p>Terminate celery and kubernetes executor</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor._router">
+<code class="sig-name descname">_router</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">simple_task_instance</span><span class="p">:</span> <span class="n">SimpleTaskInstance</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/celery_kubernetes_executor.html#CeleryKubernetesExecutor._router"><span class="viewcode-link">[source]</span></a><a [...]
+<dd><p>Return either celery_executor or kubernetes_executor</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>simple_task_instance</strong> – SimpleTaskInstance</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>celery_executor or kubernetes_executor</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>Union[<a class="reference internal" href="../celery_executor/index.html#airflow.executors.celery_executor.CeleryExecutor" title="airflow.executors.celery_executor.CeleryExecutor">CeleryExecutor</a>, <a class="reference internal" href="../kubernetes_executor/index.html#airflow.executors.kubernetes_executor.KubernetesExecutor" title="airflow.executors.kubernetes_executor.KubernetesExecutor">KubernetesExecutor</a>]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.debug_dump">
+<code class="sig-name descname">debug_dump</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</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">[source]</span></a><a class="headerlink" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.debug_dump" title="Permalink to thi [...]
+<dd><p>Called in response to SIGUSR2 by the scheduler</p>
+</dd></dl>
+
+</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.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="Image build arguments reference" href="build-arg-ref.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>
@@ -819,9 +1020,59 @@ 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.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="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor">CeleryKubernetesExecutor</a><ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.KUBERNETES_QUEUE">KUBERNETES_QUEUE</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queued_tasks">queued_tasks</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.running">running</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.job_id">job_id</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.slots_available">slots_available</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.start">start</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_command">queue_command</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.queue_task_instance">queue_task_instance</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.has_task">has_task</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.heartbeat">heartbeat</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.get_event_buffer">get_event_buffer</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.end">end</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor._router">_router</a></li>
+</ul>
+<ul>
+<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>
@@ -846,7 +1097,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/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">
@@ -980,15 +1231,16 @@ 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 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/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/jira-links.js"></script>
 </body>
 </html>
diff --git a/docs-archive/docker-stack/recipes.html b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/dask_executor/index.html
similarity index 73%
copy from docs-archive/docker-stack/recipes.html
copy to docs-archive/apache-airflow/2.1.4/_api/airflow/executors/dask_executor/index.html
index 4ce155e..84a091c 100644
--- a/docs-archive/docker-stack/recipes.html
+++ b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/dask_executor/index.html
@@ -9,15 +9,16 @@
 <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/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" />
+        <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/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" />
     <script type="application/javascript">
         var doNotTrack = false;
         window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
@@ -271,7 +272,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -282,7 +283,7 @@
 </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" />
@@ -312,19 +313,102 @@
 
 
 <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>
-</ul>
-</li>
+    <p class="caption"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.dask_executor.DaskExecutor">DaskExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor._process_future">_process_future</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.sync">sync</a></li>
+</ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.terminate">terminate</a></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="../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>
+</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>
@@ -408,7 +492,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -419,7 +503,7 @@
 </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" />
@@ -449,19 +533,102 @@
 
 
 <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>
-</ul>
-</li>
+    <p class="caption"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.dask_executor.DaskExecutor">DaskExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor._process_future">_process_future</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.end">end</a></li>
+</ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.terminate">terminate</a></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="../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>
+</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>
@@ -550,9 +717,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="recipes.html"> Recipes</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>
@@ -563,193 +734,63 @@
                                 <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 v5.0.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 v5.0.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> BASE_AIRFLOW_IMAGE
-<span class="k">FROM</span> <span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span> <span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span> <span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;pipefail&quot;</span><span class="p">,</span> <span class="s2">&quot;-e&quot;</span><span class="p">,</span> <span class="s2">&quot;-u&quot;</span><span class="p">,</span> <span class="s2">&quot;-x&quot;</span><span class="p">,</span> <span class="s2">&quot;-c&quot;</span><span clas [...]
-
-<span class="k">USER</span><span class="s"> 0</span>
-
-<span class="k">ARG</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="nv">GCLOUD_HOME</span><span class="o">=</span>/opt/google-cloud-sdk
-
-<span class="k">ENV</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="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> gcloud --version
-
-<span class="k">USER</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>
-  --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> BASE_AIRFLOW_IMAGE
-
-<span class="k">FROM</span> <span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span> <span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span> <span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;pipefail&quot;</span><span class="p">,</span> <span class="s2">&quot;-e&quot;</span><span class="p">,</span> <span class="s2">&quot;-u&quot;</span><span class="p">,</span> <span class="s2">&quot;-x&quot;</span><span class="p">,</span> <span class="s2">&quot;-c&quot;</span><span clas [...]
-
-<span class="k">USER</span><span class="s"> 0</span>
-
-<span class="c"># Install Java</span>
-<span class="k">RUN</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="nv">JAVA_HOME</span><span class="o">=</span>/usr/lib/jvm/adoptopenjdk-8-hotspot-jre-amd64
-
-<span class="k">RUN</span> mkdir -p /opt/spark/jars
-
-<span class="c"># Install Apache Hadoop</span>
-<span class="k">ARG</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="nv">HADOOP_HOME</span><span class="o">=</span>/opt/hadoop
-<span class="k">ENV</span> <span class="nv">HADOOP_CONF_DIR</span><span class="o">=</span>/etc/hadoop
-<span class="k">ENV</span> <span class="nv">MULTIHOMED_NETWORK</span><span class="o">=</span><span class="m">1</span>
-<span class="k">ENV</span> <span class="nv">USER</span><span class="o">=</span>root
-
-<span class="k">RUN</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="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="nv">HIVE_VERSION</span><span class="o">=</span><span class="m">2</span>.3.7
-<span class="k">ENV</span> <span class="nv">HIVE_HOME</span><span class="o">=</span>/opt/hive
-<span class="k">ENV</span> <span class="nv">HIVE_CONF_DIR</span><span class="o">=</span>/etc/hive
-
-<span class="k">RUN</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="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="nv">GCS_VARIANT</span><span class="o">=</span><span class="s2">&quot;hadoop2&quot;</span>
-<span class="k">ARG</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="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="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="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>
-  --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="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><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>
+</p>
+<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 class">
+<dt id="airflow.executors.dask_executor.DaskExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.dask_executor.</code><code class="sig-name descname">DaskExecutor</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">cluster_address</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/dask_executor.html#DaskExecutor"><span class="viewcode-link">[s [...]
+<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-class 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 id="airflow.executors.dask_executor.DaskExecutor.start">
+<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/dask_executor.html#DaskExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.dask_executor.DaskExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.dask_executor.DaskExecutor.execute_async">
+<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">command</span><span class="p">:</span> <span class="n">CommandType</span></em>, <em class="sig-param"><span class="n">queue</span><span class="p">:</span> <span class="n">Optional<span class="p">[ [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.dask_executor.DaskExecutor._process_future">
+<code class="sig-name descname">_process_future</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">future</span><span class="p">:</span> <span class="n">Future</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/dask_executor.html#DaskExecutor._process_future"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow. [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.dask_executor.DaskExecutor.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/dask_executor.html#DaskExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.dask_executor.DaskExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.dask_executor.DaskExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/dask_executor.html#DaskExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.dask_executor.DaskExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.dask_executor.DaskExecutor.terminate">
+<code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/dask_executor.html#DaskExecutor.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.dask_executor.DaskExecutor.terminate" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</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.celery_kubernetes_executor" href="../celery_kubernetes_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.debug_executor" href="../debug_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
             </a>
     </div>
@@ -819,9 +860,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.dask_executor</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</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>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor._process_future">_process_future</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.end">end</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.dask_executor.DaskExecutor.terminate">terminate</a></li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -846,7 +907,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/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">
@@ -980,15 +1041,16 @@ 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 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/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/jira-links.js"></script>
 </body>
 </html>
diff --git a/docs-archive/docker-stack/entrypoint.html b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/debug_executor/index.html
similarity index 69%
copy from docs-archive/docker-stack/entrypoint.html
copy to docs-archive/apache-airflow/2.1.4/_api/airflow/executors/debug_executor/index.html
index 88c9f81..7218caa 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/debug_executor/index.html
@@ -9,15 +9,16 @@
 <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/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" />
+        <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/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" />
     <script type="application/javascript">
         var doNotTrack = false;
         window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
@@ -271,7 +272,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -282,7 +283,7 @@
 </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" />
@@ -312,27 +313,111 @@
 
 
 <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="#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"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.debug_executor.DebugExecutor">DebugExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor._terminated">_terminated</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor._run_task">_run_task</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.queue_task_instance">queue_task_instance</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.trigger_tasks">trigger_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.change_state">change_state</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption"><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_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="../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>
+</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>
@@ -416,7 +501,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -427,7 +512,7 @@
 </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" />
@@ -457,27 +542,111 @@
 
 
 <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="#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"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.debug_executor.DebugExecutor">DebugExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor._terminated">_terminated</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor._run_task">_run_task</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.queue_task_instance">queue_task_instance</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.trigger_tasks">trigger_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.change_state">change_state</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption"><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_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="../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>
+</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>
@@ -566,9 +735,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="entrypoint.html"> Entrypoint</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.debug_executor</span></code></a></li>
 
     </ul>
 </div>
@@ -579,255 +752,91 @@
                                 <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 “execution” 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 and GID can be passed via
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code> and <code class="docutils literal notranslate"><span class="pre">AIRFLOW_GID</span></code> variables as described in
-<a class="reference external" href="/docs/apache-airflow/stable/start/docker.html#initializing-docker-compose-environment" title="(in apache-airflow v2.1.3)"><span class="xref std std-ref">Initializing docker compose environment</span></a>.</p>
-<p>In case <code class="docutils literal notranslate"><span class="pre">GID</span></code> is set to <code class="docutils literal notranslate"><span class="pre">0</span></code>, the user can be any UID, but 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 “other” 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 “group write” 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 “arbitrary” user creates a folder (for example in a mounted volume), that
-folder will have a “group write” 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="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 “Support arbitrary user ids” 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 “bash” - 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.1.2-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.1.2-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 “airflow” - 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.1.2-python3.6 airflow webserver
-</pre></div>
-</div>
-<p>If there are any other arguments - they are simply passed to the “airflow” command</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.1.2-python3.6 version
-<span class="m">2</span>.1.2
-</pre></div>
-</div>
-</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">
-<colgroup>
-<col style="width: 10%" />
-<col style="width: 24%" />
-<col style="width: 65%" />
-</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>
-</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:main-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:main-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:master-python3.8 webserver
-</pre></div>
-</div>
-<p>This method is only available starting from Docker image of Airflow 2.1.1 and above.</p>
+  <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><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>
+</p>
+<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 class">
+<dt id="airflow.executors.debug_executor.DebugExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.debug_executor.</code><code class="sig-name descname">DebugExecutor</code><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.debug_executor.DebugExecutor" title="Permalink to this definition">¶</a></dt>
+<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-class 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 attribute">
+<dt id="airflow.executors.debug_executor.DebugExecutor._terminated">
+<code class="sig-name descname">_terminated</code><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor._terminated"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.debug_executor.DebugExecutor._terminated" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.debug_executor.DebugExecutor.execute_async">
+<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor.execute_async"><span class="viewcode-link">[source [...]
+<dd><p>The method is replaced by custom trigger_task implementation.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.debug_executor.DebugExecutor.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.debug_executor.DebugExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.debug_executor.DebugExecutor._run_task">
+<code class="sig-name descname">_run_task</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">ti</span><span class="p">:</span> <span class="n">TaskInstance</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor._run_task"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executor [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.debug_executor.DebugExecutor.queue_task_instance">
+<code class="sig-name descname">queue_task_instance</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">task_instance</span><span class="p">:</span> <span class="n">TaskInstance</span></em>, <em class="sig-param"><span class="n">mark_success</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)">bool</a [...]
+<dd><p>Queues task instance with empty command because we do not need it.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.debug_executor.DebugExecutor.trigger_tasks">
+<code class="sig-name descname">trigger_tasks</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">open_slots</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)">int</a></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor. [...]
+<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> – Number of open slots</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.debug_executor.DebugExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.debug_executor.DebugExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd><p>When the method is called we just set states of queued tasks
+to UPSTREAM_FAILED marking them as not executed.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.debug_executor.DebugExecutor.terminate">
+<code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/debug_executor.html#DebugExecutor.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.debug_executor.DebugExecutor.terminate" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.debug_executor.DebugExecutor.change_state">
+<code class="sig-name descname">change_state</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">state</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a></span></em>, <em class [...]
+<dd></dd></dl>
+
+</dd></dl>
+
 </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.dask_executor" href="../dask_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.executor_constants" href="../executor_constants/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
             </a>
     </div>
@@ -897,15 +906,36 @@ 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="#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.debug_executor</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</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._terminated">_terminated</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor._run_task">_run_task</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.queue_task_instance">queue_task_instance</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.trigger_tasks">trigger_tasks</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.end">end</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.terminate">terminate</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.debug_executor.DebugExecutor.change_state">change_state</a></li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -932,7 +962,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/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">
@@ -1066,15 +1096,16 @@ 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 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/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/jira-links.js"></script>
 </body>
 </html>
diff --git a/docs-archive/docker-stack/recipes.html b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/executor_constants/index.html
similarity index 74%
copy from docs-archive/docker-stack/recipes.html
copy to docs-archive/apache-airflow/2.1.4/_api/airflow/executors/executor_constants/index.html
index 4ce155e..ba903ab 100644
--- a/docs-archive/docker-stack/recipes.html
+++ b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/executor_constants/index.html
@@ -9,15 +9,16 @@
 <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/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" />
+        <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/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" />
     <script type="application/javascript">
         var doNotTrack = false;
         window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
@@ -271,7 +272,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -282,7 +283,7 @@
 </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" />
@@ -312,19 +313,102 @@
 
 
 <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>
-</ul>
-</li>
+    <p class="caption"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.SEQUENTIAL_EXECUTOR">SEQUENTIAL_EXECUTOR</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_EXECUTOR">CELERY_EXECUTOR</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_KUBERNETES_EXECUTOR">CELERY_KUBERNETES_EXECUTOR</a></li>
+</ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.DASK_EXECUTOR">DASK_EXECUTOR</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.KUBERNETES_EXECUTOR">KUBERNETES_EXECUTOR</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.DEBUG_EXECUTOR">DEBUG_EXECUTOR</a></li>
+</ul>
+</li>
+</ul>
+</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="../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>
+</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>
@@ -408,7 +492,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -419,7 +503,7 @@
 </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" />
@@ -449,19 +533,102 @@
 
 
 <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>
-</ul>
-</li>
+    <p class="caption"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.SEQUENTIAL_EXECUTOR">SEQUENTIAL_EXECUTOR</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_EXECUTOR">CELERY_EXECUTOR</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_KUBERNETES_EXECUTOR">CELERY_KUBERNETES_EXECUTOR</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.DASK_EXECUTOR">DASK_EXECUTOR</a></li>
+</ul>
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="build-arg-ref.html">Image build arguments reference</a></li>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.KUBERNETES_EXECUTOR">KUBERNETES_EXECUTOR</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_constants.DEBUG_EXECUTOR">DEBUG_EXECUTOR</a></li>
+</ul>
+</li>
+</ul>
+</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="../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>
+</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>
@@ -550,9 +717,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="recipes.html"> Recipes</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>
@@ -563,193 +734,54 @@
                                 <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 v5.0.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 v5.0.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> BASE_AIRFLOW_IMAGE
-<span class="k">FROM</span> <span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span> <span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span> <span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;pipefail&quot;</span><span class="p">,</span> <span class="s2">&quot;-e&quot;</span><span class="p">,</span> <span class="s2">&quot;-u&quot;</span><span class="p">,</span> <span class="s2">&quot;-x&quot;</span><span class="p">,</span> <span class="s2">&quot;-c&quot;</span><span clas [...]
-
-<span class="k">USER</span><span class="s"> 0</span>
-
-<span class="k">ARG</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="nv">GCLOUD_HOME</span><span class="o">=</span>/opt/google-cloud-sdk
-
-<span class="k">ENV</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="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> gcloud --version
-
-<span class="k">USER</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>
-  --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> BASE_AIRFLOW_IMAGE
-
-<span class="k">FROM</span> <span class="s">${BASE_AIRFLOW_IMAGE}</span>
-
-<span class="k">SHELL</span> <span class="p">[</span><span class="s2">&quot;/bin/bash&quot;</span><span class="p">,</span> <span class="s2">&quot;-o&quot;</span><span class="p">,</span> <span class="s2">&quot;pipefail&quot;</span><span class="p">,</span> <span class="s2">&quot;-e&quot;</span><span class="p">,</span> <span class="s2">&quot;-u&quot;</span><span class="p">,</span> <span class="s2">&quot;-x&quot;</span><span class="p">,</span> <span class="s2">&quot;-c&quot;</span><span clas [...]
-
-<span class="k">USER</span><span class="s"> 0</span>
-
-<span class="c"># Install Java</span>
-<span class="k">RUN</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="nv">JAVA_HOME</span><span class="o">=</span>/usr/lib/jvm/adoptopenjdk-8-hotspot-jre-amd64
-
-<span class="k">RUN</span> mkdir -p /opt/spark/jars
-
-<span class="c"># Install Apache Hadoop</span>
-<span class="k">ARG</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="nv">HADOOP_HOME</span><span class="o">=</span>/opt/hadoop
-<span class="k">ENV</span> <span class="nv">HADOOP_CONF_DIR</span><span class="o">=</span>/etc/hadoop
-<span class="k">ENV</span> <span class="nv">MULTIHOMED_NETWORK</span><span class="o">=</span><span class="m">1</span>
-<span class="k">ENV</span> <span class="nv">USER</span><span class="o">=</span>root
-
-<span class="k">RUN</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="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="nv">HIVE_VERSION</span><span class="o">=</span><span class="m">2</span>.3.7
-<span class="k">ENV</span> <span class="nv">HIVE_HOME</span><span class="o">=</span>/opt/hive
-<span class="k">ENV</span> <span class="nv">HIVE_CONF_DIR</span><span class="o">=</span>/etc/hive
-
-<span class="k">RUN</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="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="nv">GCS_VARIANT</span><span class="o">=</span><span class="s2">&quot;hadoop2&quot;</span>
-<span class="k">ARG</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="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="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="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>
-  --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 id="airflow.executors.executor_constants.LOCAL_EXECUTOR">
+<code class="sig-prename descclassname">airflow.executors.executor_constants.</code><code class="sig-name descname">LOCAL_EXECUTOR</code><em class="property"> = LocalExecutor</em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#LOCAL_EXECUTOR"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_constants.LOCAL_EXECUTOR" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.executor_constants.SEQUENTIAL_EXECUTOR">
+<code class="sig-prename descclassname">airflow.executors.executor_constants.</code><code class="sig-name descname">SEQUENTIAL_EXECUTOR</code><em class="property"> = SequentialExecutor</em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#SEQUENTIAL_EXECUTOR"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_constants.SEQUENTIAL_EXECUTOR" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.executor_constants.CELERY_EXECUTOR">
+<code class="sig-prename descclassname">airflow.executors.executor_constants.</code><code class="sig-name descname">CELERY_EXECUTOR</code><em class="property"> = CeleryExecutor</em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#CELERY_EXECUTOR"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_constants.CELERY_EXECUTOR" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.executor_constants.CELERY_KUBERNETES_EXECUTOR">
+<code class="sig-prename descclassname">airflow.executors.executor_constants.</code><code class="sig-name descname">CELERY_KUBERNETES_EXECUTOR</code><em class="property"> = CeleryKubernetesExecutor</em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#CELERY_KUBERNETES_EXECUTOR"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_constants.CELERY_KUBERNETES_EXECUTOR" title="Permalink to th [...]
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.executor_constants.DASK_EXECUTOR">
+<code class="sig-prename descclassname">airflow.executors.executor_constants.</code><code class="sig-name descname">DASK_EXECUTOR</code><em class="property"> = DaskExecutor</em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#DASK_EXECUTOR"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_constants.DASK_EXECUTOR" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.executor_constants.KUBERNETES_EXECUTOR">
+<code class="sig-prename descclassname">airflow.executors.executor_constants.</code><code class="sig-name descname">KUBERNETES_EXECUTOR</code><em class="property"> = KubernetesExecutor</em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#KUBERNETES_EXECUTOR"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_constants.KUBERNETES_EXECUTOR" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.executor_constants.DEBUG_EXECUTOR">
+<code class="sig-prename descclassname">airflow.executors.executor_constants.</code><code class="sig-name descname">DEBUG_EXECUTOR</code><em class="property"> = DebugExecutor</em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_constants.html#DEBUG_EXECUTOR"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_constants.DEBUG_EXECUTOR" title="Permalink to this definition">¶</a></dt>
+<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>
@@ -819,9 +851,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_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>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.SEQUENTIAL_EXECUTOR">SEQUENTIAL_EXECUTOR</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_EXECUTOR">CELERY_EXECUTOR</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.CELERY_KUBERNETES_EXECUTOR">CELERY_KUBERNETES_EXECUTOR</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.DASK_EXECUTOR">DASK_EXECUTOR</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.KUBERNETES_EXECUTOR">KUBERNETES_EXECUTOR</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.executor_constants.DEBUG_EXECUTOR">DEBUG_EXECUTOR</a></li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -846,7 +898,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">
@@ -980,15 +1032,16 @@ 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 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/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/jira-links.js"></script>
 </body>
 </html>
diff --git a/docs-archive/docker-stack/entrypoint.html b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/executor_loader/index.html
similarity index 73%
copy from docs-archive/docker-stack/entrypoint.html
copy to docs-archive/apache-airflow/2.1.4/_api/airflow/executors/executor_loader/index.html
index 88c9f81..4cb5c6d 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/executor_loader/index.html
@@ -9,15 +9,16 @@
 <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/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" />
+        <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/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" />
     <script type="application/javascript">
         var doNotTrack = false;
         window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
@@ -271,7 +272,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -282,7 +283,7 @@
 </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" />
@@ -312,27 +313,105 @@
 
 
 <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="#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"><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="../../../../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="../../../../changelog.html">Changelog</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>
-</li>
+<p class="caption"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.executor_loader.log">log</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader">ExecutorLoader</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader._default_executor">_default_executor</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.executors">executors</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.get_default_executor">get_default_executor</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.load_executor">load_executor</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.__load_celery_kubernetes_executor">__load_celery_kubernetes_executor</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption"><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 class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS">UNPICKLEABLE_EXECUTORS</a></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="../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>
+</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>
@@ -416,7 +495,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -427,7 +506,7 @@
 </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" />
@@ -457,27 +536,105 @@
 
 
 <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="#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"><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="../../../../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="../../../../changelog.html">Changelog</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>
-</li>
+<p class="caption"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.executor_loader.log">log</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader">ExecutorLoader</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader._default_executor">_default_executor</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.executors">executors</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.get_default_executor">get_default_executor</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.load_executor">load_executor</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.__load_celery_kubernetes_executor">__load_celery_kubernetes_executor</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption"><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 class="toctree-l8"><a class="reference internal" href="#airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS">UNPICKLEABLE_EXECUTORS</a></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="../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>
+</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>
@@ -566,9 +723,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.executor_loader</span></code></a></li>
 
     </ul>
 </div>
@@ -579,255 +740,78 @@
                                 <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 “execution” 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 and GID can be passed via
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code> and <code class="docutils literal notranslate"><span class="pre">AIRFLOW_GID</span></code> variables as described in
-<a class="reference external" href="/docs/apache-airflow/stable/start/docker.html#initializing-docker-compose-environment" title="(in apache-airflow v2.1.3)"><span class="xref std std-ref">Initializing docker compose environment</span></a>.</p>
-<p>In case <code class="docutils literal notranslate"><span class="pre">GID</span></code> is set to <code class="docutils literal notranslate"><span class="pre">0</span></code>, the user can be any UID, but 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 “other” 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 “group write” 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 “arbitrary” user creates a folder (for example in a mounted volume), that
-folder will have a “group write” 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="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 “Support arbitrary user ids” 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 “bash” - 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.1.2-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.1.2-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 “airflow” - 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.1.2-python3.6 airflow webserver
-</pre></div>
-</div>
-<p>If there are any other arguments - they are simply passed to the “airflow” command</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.1.2-python3.6 version
-<span class="m">2</span>.1.2
-</pre></div>
-</div>
-</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">
-<colgroup>
-<col style="width: 10%" />
-<col style="width: 24%" />
-<col style="width: 65%" />
-</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>
-</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:main-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:main-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:master-python3.8 webserver
-</pre></div>
-</div>
-<p>This method is only available starting from Docker image of Airflow 2.1.1 and above.</p>
-</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><p>All executors.</p>
+</p>
+<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 id="airflow.executors.executor_loader.log">
+<code class="sig-prename descclassname">airflow.executors.executor_loader.</code><code class="sig-name descname">log</code><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#log"><span class="viewcode-link">[source]</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 id="airflow.executors.executor_loader.ExecutorLoader">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.executor_loader.</code><code class="sig-name descname">ExecutorLoader</code><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#ExecutorLoader"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_loader.ExecutorLoader" title="Permalink to this definition">¶</a></dt>
+<dd><p>Keeps constants for all the currently available executors.</p>
+<dl class="py attribute">
+<dt id="airflow.executors.executor_loader.ExecutorLoader._default_executor">
+<code class="sig-name descname">_default_executor</code><em class="property"> :Optional[BaseExecutor]</em><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#ExecutorLoader._default_executor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_loader.ExecutorLoader._default_executor" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt id="airflow.executors.executor_loader.ExecutorLoader.executors">
+<code class="sig-name descname">executors</code><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#ExecutorLoader.executors"><span class="viewcode-link">[source]</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 id="airflow.executors.executor_loader.ExecutorLoader.get_default_executor">
+<em class="property">classmethod </em><code class="sig-name descname">get_default_executor</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">cls</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">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_loader.ExecutorLoader.get_default_executor [...]
+<dd><p>Creates a new instance of the configured executor if none exists and returns it</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.executor_loader.ExecutorLoader.load_executor">
+<em class="property">classmethod </em><code class="sig-name descname">load_executor</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">cls</span></em>, <em class="sig-param"><span class="n">executor_name</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_mo [...]
+<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>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.executor_loader.ExecutorLoader.__load_celery_kubernetes_executor">
+<em class="property">classmethod </em><code class="sig-name descname">__load_celery_kubernetes_executor</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">cls</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#ExecutorLoader.__load_celery_kubernetes_executor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_loader.ExecutorL [...]
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>an instance of CeleryKubernetesExecutor</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS">
+<code class="sig-prename descclassname">airflow.executors.executor_loader.</code><code class="sig-name descname">UNPICKLEABLE_EXECUTORS</code><a class="reference internal" href="../../../../_modules/airflow/executors/executor_loader.html#UNPICKLEABLE_EXECUTORS"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
 </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.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="Recipes" href="recipes.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>
@@ -897,15 +881,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="#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.executor_loader</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_loader.log">log</a></li>
+</ul>
+<ul>
+<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._default_executor">_default_executor</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.executors">executors</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.get_default_executor">get_default_executor</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.load_executor">load_executor</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.ExecutorLoader.__load_celery_kubernetes_executor">__load_celery_kubernetes_executor</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.executor_loader.UNPICKLEABLE_EXECUTORS">UNPICKLEABLE_EXECUTORS</a></li>
 </ul>
 </li>
 </ul>
@@ -932,7 +931,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/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">
@@ -1066,15 +1065,16 @@ 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 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/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/jira-links.js"></script>
 </body>
 </html>
diff --git a/docs-archive/docker-stack/index.html b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/index.html
similarity index 79%
copy from docs-archive/docker-stack/index.html
copy to docs-archive/apache-airflow/2.1.4/_api/airflow/executors/index.html
index 68c3e6f..47f8d83 100644
--- a/docs-archive/docker-stack/index.html
+++ b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/index.html
@@ -9,14 +9,16 @@
 <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/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" />
+        <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/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" />
     <script type="application/javascript">
         var doNotTrack = false;
         window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
@@ -270,7 +272,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -281,7 +283,7 @@
 </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" />
@@ -311,15 +313,78 @@
 
 
 <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"><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="../../../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="../../../changelog.html">Changelog</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"><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="../../../macros-ref.html">Macros</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#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="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>
+</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,7 +468,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -414,7 +479,7 @@
 </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,15 +509,78 @@
 
 
 <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"><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="../../../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="../../../changelog.html">Changelog</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"><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="../../../macros-ref.html">Macros</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#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="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>
+</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>
@@ -541,9 +669,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="index.html"> Docker Image for Apache Airflow</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>
 
     </ul>
 </div>
@@ -554,60 +684,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><p>Executors.</p>
+</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 2.1.3):</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.6 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.1.3</span></code>           - the versioned Airflow image with default Python version (3.6 currently)</p></li>
-<li><p><code class="code docutils literal notranslate"><span class="pre">apache/airflow:2.1.3-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="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 “reference” images. They contain the most common set of extras, dependencies and providers that are
-often used by the users and they are good to “try-things-out” 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.1.3)"><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.1.3)"><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.1.3)"><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.2.0-rc1)"><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>
@@ -677,10 +782,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>
@@ -703,7 +808,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">
@@ -837,15 +942,16 @@ 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 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/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/jira-links.js"></script>
 </body>
 </html>
diff --git a/docs-archive/docker-stack/entrypoint.html b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/kubernetes_executor/index.html
similarity index 52%
copy from docs-archive/docker-stack/entrypoint.html
copy to docs-archive/apache-airflow/2.1.4/_api/airflow/executors/kubernetes_executor/index.html
index 88c9f81..fb5410f 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/kubernetes_executor/index.html
@@ -9,15 +9,16 @@
 <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/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" />
+        <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/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" />
     <script type="application/javascript">
         var doNotTrack = false;
         window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
@@ -271,7 +272,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -282,7 +283,7 @@
 </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" />
@@ -312,27 +313,192 @@
 
 
 <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="#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"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.kubernetes_executor.KubernetesJobType">KubernetesJobType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesResultsType">KubernetesResultsType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesWatchType">KubernetesWatchType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion">ResourceVersion</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion._instance">_instance</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion.resource_version">resource_version</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion.__new__">__new__</a></li>
 </ul>
 </li>
 </ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher">KubernetesJobWatcher</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.run">run</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher._run">_run</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.process_error">process_error</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><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>
 </ul>
-<p class="caption"><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 class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler">AirflowKubernetesScheduler</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_pod_async">run_pod_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher">_make_kube_watcher</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kube_watcher">_health_check_kube_watcher</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next">run_next</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod">delete_pod</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task">process_watcher_task</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._flush_watcher_queue">_flush_watcher_queue</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate">terminate</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.get_base_pod_from_template">get_base_pod_from_template</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor">KubernetesExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">clear_not_launched_queued_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._check_worker_pods_pending_timeout">_check_worker_pods_pending_timeout</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._change_state">_change_state</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.adopt_launched_task">adopt_launched_task</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._adopt_completed_pods">_adopt_completed_pods</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._flush_task_queue">_flush_task_queue</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._flush_result_queue">_flush_result_queue</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.terminate">terminate</a></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="../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>
+</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>
@@ -416,7 +582,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -427,7 +593,7 @@
 </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" />
@@ -457,27 +623,192 @@
 
 
 <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="#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"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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="#airflow.executors.kubernetes_executor.KubernetesJobType">KubernetesJobType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesResultsType">KubernetesResultsType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesWatchType">KubernetesWatchType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion">ResourceVersion</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion._instance">_instance</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion.resource_version">resource_version</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion.__new__">__new__</a></li>
 </ul>
 </li>
 </ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher">KubernetesJobWatcher</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.run">run</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher._run">_run</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.process_error">process_error</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><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>
 </ul>
-<p class="caption"><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 class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler">AirflowKubernetesScheduler</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_pod_async">run_pod_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher">_make_kube_watcher</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kube_watcher">_health_check_kube_watcher</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next">run_next</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod">delete_pod</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task">process_watcher_task</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._flush_watcher_queue">_flush_watcher_queue</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate">terminate</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.get_base_pod_from_template">get_base_pod_from_template</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor">KubernetesExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">clear_not_launched_queued_tasks</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._check_worker_pods_pending_timeout">_check_worker_pods_pending_timeout</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._change_state">_change_state</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.adopt_launched_task">adopt_launched_task</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._adopt_completed_pods">_adopt_completed_pods</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._flush_task_queue">_flush_task_queue</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._flush_result_queue">_flush_result_queue</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.terminate">terminate</a></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="../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>
+</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>
@@ -566,9 +897,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>
@@ -579,255 +914,285 @@
                                 <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 “execution” 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 and GID can be passed via
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code> and <code class="docutils literal notranslate"><span class="pre">AIRFLOW_GID</span></code> variables as described in
-<a class="reference external" href="/docs/apache-airflow/stable/start/docker.html#initializing-docker-compose-environment" title="(in apache-airflow v2.1.3)"><span class="xref std std-ref">Initializing docker compose environment</span></a>.</p>
-<p>In case <code class="docutils literal notranslate"><span class="pre">GID</span></code> is set to <code class="docutils literal notranslate"><span class="pre">0</span></code>, the user can be any UID, but 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 “other” 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 “group write” 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 “arbitrary” user creates a folder (for example in a mounted volume), that
-folder will have a “group write” 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="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 “Support arbitrary user ids” 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 “bash” - 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.1.2-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.1.2-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 “airflow” - 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.1.2-python3.6 airflow webserver
-</pre></div>
-</div>
-<p>If there are any other arguments - they are simply passed to the “airflow” command</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.1.2-python3.6 version
-<span class="m">2</span>.1.2
-</pre></div>
-</div>
-</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">
-<colgroup>
-<col style="width: 10%" />
-<col style="width: 24%" />
-<col style="width: 65%" />
-</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>
-</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:main-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:main-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:master-python3.8 webserver
-</pre></div>
-</div>
-<p>This method is only available starting from Docker image of Airflow 2.1.1 and above.</p>
+  <div class="section" id="module-airflow.executors.kubernetes_executor">
+<span id="airflow-executors-kubernetes-executor"></span><h1><a class="reference internal" href="#module-airflow.executors.kubernetes_executor" title="airflow.executors.kubernetes_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.kubernetes_executor</span></code></a><a class="headerlink" href="#module-airflow.executors.kubernetes_executor" title="Permalink to this headline">¶</a></h1>
+<p><p>KubernetesExecutor</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>For more information on how the KubernetesExecutor works, take a look at the guide:
+<a class="reference internal" href="../../../../executor/kubernetes.html#executor-kubernetesexecutor"><span class="std std-ref">Kubernetes Executor</span></a></p>
 </div>
+</p>
+<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 id="airflow.executors.kubernetes_executor.KubernetesJobType">
+<code class="sig-prename descclassname">airflow.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesJobType</code><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesJobType"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesJobType" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.kubernetes_executor.KubernetesResultsType">
+<code class="sig-prename descclassname">airflow.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesResultsType</code><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesResultsType"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesResultsType" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py data">
+<dt id="airflow.executors.kubernetes_executor.KubernetesWatchType">
+<code class="sig-prename descclassname">airflow.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesWatchType</code><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesWatchType"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesWatchType" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py class">
+<dt id="airflow.executors.kubernetes_executor.ResourceVersion">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.kubernetes_executor.</code><code class="sig-name descname">ResourceVersion</code><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#ResourceVersion"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.ResourceVersion" title="Permalink to this definition">¶</a></dt>
+<dd><p>Singleton for tracking resourceVersion from Kubernetes</p>
+<dl class="py attribute">
+<dt id="airflow.executors.kubernetes_executor.ResourceVersion._instance">
+<code class="sig-name descname">_instance</code><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#ResourceVersion._instance"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.ResourceVersion._instance" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt id="airflow.executors.kubernetes_executor.ResourceVersion.resource_version">
+<code class="sig-name descname">resource_version</code><em class="property"> = 0</em><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#ResourceVersion.resource_version"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.ResourceVersion.resource_version" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.ResourceVersion.__new__">
+<em class="property">classmethod </em><code class="sig-name descname">__new__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">cls</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#ResourceVersion.__new__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.ResourceVersion.__new__" title="Permalink to this de [...]
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt id="airflow.executors.kubernetes_executor.KubernetesJobWatcher">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesJobWatcher</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">namespace</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a><span class="p">]</span></span></em> [...]
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Process" title="(in Python v3.9)"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiprocessing.Process</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>Watches for Kubernetes jobs</p>
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesJobWatcher.run">
+<code class="sig-name descname">run</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesJobWatcher.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.run" title="Permalink to this definition">¶</a></dt>
+<dd><p>Performs watching</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesJobWatcher._run">
+<code class="sig-name descname">_run</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">kube_client</span><span class="p">:</span> <span class="n">client.CoreV1Api</span></em>, <em class="sig-param"><span class="n">resource_version</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in  [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesJobWatcher.process_error">
+<code class="sig-name descname">process_error</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">event</span><span class="p">:</span> <span class="n">Any</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesJobWatcher.process_error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#ai [...]
+<dd><p>Process error response</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesJobWatcher.process_status">
+<code class="sig-name descname">process_status</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">pod_id</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a></span></em>, <em class="sig-param"><span class="n">namespace</span><span class="p">:</span> <span class="n"><a class="reference external" [...]
+<dd><p>Process status response</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt id="airflow.executors.kubernetes_executor.AirflowKubernetesScheduler">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.kubernetes_executor.</code><code class="sig-name descname">AirflowKubernetesScheduler</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">kube_config</span><span class="p">:</span> <span class="n">Any</span></em>, <em class="sig-param"><span class="n">task_queue</span><span class="p">:</span> <span class="n">‘Queue[KubernetesJobType]’</span></em>, <em class="sig-param"><span  [...]
+<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>Airflow Scheduler for Kubernetes</p>
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_pod_async">
+<code class="sig-name descname">run_pod_async</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">pod</span><span class="p">:</span> <span class="n">k8s.V1Pod</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#AirflowKubernetesScheduler. [...]
+<dd><p>Runs POD asynchronously</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher">
+<code class="sig-name descname">_make_kube_watcher</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher" title="Pe [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kube_watcher">
+<code class="sig-name descname">_health_check_kube_watcher</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#AirflowKubernetesScheduler._health_check_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next">
+<code class="sig-name descname">run_next</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">next_job</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobType" title="airflow.executors.kubernetes_executor.KubernetesJobType">KubernetesJobType</a></span></em><span class="sig-paren">)</span><a class="reference internal" href="../. [...]
+<dd><p>The run_next command will check the task_queue for any un-run jobs.
+It will then create a unique job-id, launch that job in the cluster,
+and store relevant info in the current_jobs map so we can track the job’s
+status</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod">
+<code class="sig-name descname">delete_pod</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">pod_id</span><span class="p">:</span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a></span></em>, <em class="sig-param"><span class="n">namespace</span><span class="p">:</span> <span class="n"><a class="reference external" hre [...]
+<dd><p>Deletes POD</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#AirflowKubernetesScheduler.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.sync" title="Permalink to this definition">¶</a></dt>
+<dd><p>The sync function checks the status of all currently running kubernetes jobs.
+If a job is completed, its status is placed in the result queue to
+be sent back to the scheduler.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task">
+<code class="sig-name descname">process_watcher_task</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">task</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesWatchType" title="airflow.executors.kubernetes_executor.KubernetesWatchType">KubernetesWatchType</a></span></em><span class="sig-paren">)</span><a class="reference intern [...]
+<dd><p>Process the task by watcher.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._flush_watcher_queue">
+<code class="sig-name descname">_flush_watcher_queue</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#AirflowKubernetesScheduler._flush_watcher_queue"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._flush_watcher_queue" tit [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate">
+<code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#AirflowKubernetesScheduler.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate" title="Permalink to this definition" [...]
+<dd><p>Terminates the watcher.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py function">
+<dt id="airflow.executors.kubernetes_executor.get_base_pod_from_template">
+<code class="sig-prename descclassname">airflow.executors.kubernetes_executor.</code><code class="sig-name descname">get_base_pod_from_template</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">pod_template_file</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a><span class="p">]</span></span></em>, <em class="sig-p [...]
+<dt>
+<code class="sig-name descname">Reads either the pod_template_file set in the executor_config or the base pod_template_file</code></dt>
+<dt>
+<code class="sig-name descname">set in the airflow.cfg to craft a &quot;base pod&quot; that will be used by the KubernetesExecutor</code></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>pod_template_file</strong> – absolute path to a pod_template_file.yaml or None</p></li>
+<li><p><strong>kube_config</strong> – The KubeConfig class generated by airflow that contains all kube metadata</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>a V1Pod that can be used as the base pod for k8s tasks</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py class">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesExecutor</code><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesExecutor" title="Permalink to this definition">¶</a></dt>
+<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-class docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>Executor for Kubernetes</p>
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">
+<code class="sig-name descname">clear_not_launched_queued_tasks</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">session</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesExecutor.clear_not_launched_queued_tasks"><span class="viewcode-link">[s [...]
+<dd><p>If the airflow scheduler restarts with pending “Queued” tasks, the tasks may or
+may not
+have been launched. Thus on starting up the scheduler let’s check every
+“Queued” task to
+see if it has been launched (ie: if there is a corresponding pod on kubernetes)</p>
+<p>If it has been launched then do nothing, otherwise reset the state to “None” so
+the task
+will be rescheduled</p>
+<p>This will not be necessary in a future version of airflow in which there is
+proper support
+for State.LAUNCHED</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor.start">
+<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.start" title="Permalink to this definition">¶</a></dt>
+<dd><p>Starts the executor</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor.execute_async">
+<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">command</span><span class="p">:</span> <span class="n">CommandType</span></em>, <em class="sig-param"><span class="n">queue</span><span class="p">:</span> <span class="n">Optional<span class="p">[ [...]
+<dd><p>Executes task asynchronously</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor.sync">
+<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.sync" title="Permalink to this definition">¶</a></dt>
+<dd><p>Synchronize task state.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor._check_worker_pods_pending_timeout">
+<code class="sig-name descname">_check_worker_pods_pending_timeout</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesExecutor._check_worker_pods_pending_timeout"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._check_worker [...]
+<dd><p>Check if any pending worker pods have timed out</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor._change_state">
+<code class="sig-name descname">_change_state</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">state</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9 [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor.try_adopt_task_instances">
+<code class="sig-name descname">try_adopt_task_instances</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">tis</span><span class="p">:</span> <span class="n">List<span class="p">[</span>TaskInstance<span class="p">]</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesExecutor.try_adopt_task_instances" [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor.adopt_launched_task">
+<code class="sig-name descname">adopt_launched_task</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">kube_client</span><span class="p">:</span> <span class="n">client.CoreV1Api</span></em>, <em class="sig-param"><span class="n">pod</span><span class="p">:</span> <span class="n">k8s.V1Pod</span></em>, <em class="sig-param"><span class="n">pod_ids</span><span class="p">:</span> <span class="n">Dict<span clas [...]
+<dd><p>Patch existing pod so that the current KubernetesJobWatcher can monitor it via label selectors</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>kube_client</strong> – kubernetes client for speaking to kube API</p></li>
+<li><p><strong>pod</strong> – V1Pod spec that we will patch with new label</p></li>
+<li><p><strong>pod_ids</strong> – pod_ids we expect to patch.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor._adopt_completed_pods">
+<code class="sig-name descname">_adopt_completed_pods</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">kube_client</span><span class="p">:</span> <span class="n">client.CoreV1Api</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesExecutor._adopt_completed_pods"><span class="viewcode-link">[source]</span></ [...]
+<dd><p>Patch completed pod so that the KubernetesJobWatcher can delete it.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>kube_client</strong> – kubernetes client for speaking to kube API</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor._flush_task_queue">
+<code class="sig-name descname">_flush_task_queue</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesExecutor._flush_task_queue"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._flush_task_queue" title="Permalink to this def [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor._flush_result_queue">
+<code class="sig-name descname">_flush_result_queue</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesExecutor._flush_result_queue"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._flush_result_queue" title="Permalink to th [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor.end">
+<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.end" title="Permalink to this definition">¶</a></dt>
+<dd><p>Called when the executor shuts down</p>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.kubernetes_executor.KubernetesExecutor.terminate">
+<code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/kubernetes_executor.html#KubernetesExecutor.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.terminate" title="Permalink to this definition">¶</a></dt>
+<dd><p>Terminate the executor is not doing anything.</p>
+</dd></dl>
+
+</dd></dl>
+
 </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.executor_loader" href="../executor_loader/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.local_executor" href="../local_executor/index.html" >
                 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
             </a>
     </div>
@@ -897,15 +1262,117 @@ 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="#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.kubernetes_executor</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobType">KubernetesJobType</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesResultsType">KubernetesResultsType</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesWatchType">KubernetesWatchType</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion">ResourceVersion</a><ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion._instance">_instance</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion.resource_version">resource_version</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.ResourceVersion.__new__">__new__</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher">KubernetesJobWatcher</a><ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.run">run</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher._run">_run</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.process_error">process_error</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesJobWatcher.process_status">process_status</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler">AirflowKubernetesScheduler</a><ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_pod_async">run_pod_async</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher">_make_kube_watcher</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kube_watcher">_health_check_kube_watcher</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next">run_next</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod">delete_pod</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.sync">sync</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task">process_watcher_task</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler._flush_watcher_queue">_flush_watcher_queue</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate">terminate</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.get_base_pod_from_template">get_base_pod_from_template</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor">KubernetesExecutor</a><ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">clear_not_launched_queued_tasks</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.start">start</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._check_worker_pods_pending_timeout">_check_worker_pods_pending_timeout</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._change_state">_change_state</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.try_adopt_task_instances">try_adopt_task_instances</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.adopt_launched_task">adopt_launched_task</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._adopt_completed_pods">_adopt_completed_pods</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._flush_task_queue">_flush_task_queue</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor._flush_result_queue">_flush_result_queue</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.end">end</a></li>
+</ul>
+<ul>
+<li><a class="reference internal" href="#airflow.executors.kubernetes_executor.KubernetesExecutor.terminate">terminate</a></li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -932,7 +1399,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/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">
@@ -1066,15 +1533,16 @@ 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 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/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/jira-links.js"></script>
 </body>
 </html>
diff --git a/docs-archive/docker-stack/entrypoint.html b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/local_executor/index.html
similarity index 58%
copy from docs-archive/docker-stack/entrypoint.html
copy to docs-archive/apache-airflow/2.1.4/_api/airflow/executors/local_executor/index.html
index 88c9f81..d8b9ffc 100644
--- a/docs-archive/docker-stack/entrypoint.html
+++ b/docs-archive/apache-airflow/2.1.4/_api/airflow/executors/local_executor/index.html
@@ -9,15 +9,16 @@
 <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/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" />
+        <title>airflow.executors.local_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/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.sequential_executor" href="../sequential_executor/index.html" />
+            <link rel="prev" title="airflow.executors.kubernetes_executor" href="../kubernetes_executor/index.html" />
     <script type="application/javascript">
         var doNotTrack = false;
         window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
@@ -271,7 +272,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -282,7 +283,7 @@
 </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" />
@@ -312,27 +313,162 @@
 
 
 <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="#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"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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"><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 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_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="#airflow.executors.local_executor.ExecutorWorkType">ExecutorWorkType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase">LocalWorkerBase</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase.run">run</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase.execute_work">execute_work</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase._execute_work_in_subprocess">_execute_work_in_subprocess</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase._execute_work_in_fork">_execute_work_in_fork</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase.do_work">do_work</a></li>
 </ul>
 </li>
 </ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorker">LocalWorker</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorker.do_work">do_work</a></li>
+</ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption"><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 class="toctree-l8"><a class="reference internal" href="#airflow.executors.local_executor.QueuedLocalWorker">QueuedLocalWorker</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.QueuedLocalWorker.do_work">do_work</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor">LocalExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.UnlimitedParallelism">UnlimitedParallelism</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.UnlimitedParallelism.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.UnlimitedParallelism.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.UnlimitedParallelism.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.UnlimitedParallelism.end">end</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.LimitedParallelism">LimitedParallelism</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.LimitedParallelism.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.LimitedParallelism.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.LimitedParallelism.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.LimitedParallelism.end">end</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.terminate">terminate</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</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>
+</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>
@@ -416,7 +552,7 @@
 <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">devel</span>
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.1.4</span>
     </a>
     <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
 
@@ -427,7 +563,7 @@
 </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" />
@@ -457,27 +593,162 @@
 
 
 <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="#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"><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="../../../../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="../../../../changelog.html">Changelog</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"><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="../../../../macros-ref.html">Macros</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#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"><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 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_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="#airflow.executors.local_executor.ExecutorWorkType">ExecutorWorkType</a></li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase">LocalWorkerBase</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase.run">run</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase.execute_work">execute_work</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase._execute_work_in_subprocess">_execute_work_in_subprocess</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase._execute_work_in_fork">_execute_work_in_fork</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase.do_work">do_work</a></li>
 </ul>
 </li>
 </ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorker">LocalWorker</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalWorker.do_work">do_work</a></li>
+</ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="recipes.html">Recipes</a></li>
 </ul>
-<p class="caption"><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 class="toctree-l8"><a class="reference internal" href="#airflow.executors.local_executor.QueuedLocalWorker">QueuedLocalWorker</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.QueuedLocalWorker.do_work">do_work</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l8"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor">LocalExecutor</a><ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.UnlimitedParallelism">UnlimitedParallelism</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.UnlimitedParallelism.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.UnlimitedParallelism.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.UnlimitedParallelism.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.UnlimitedParallelism.end">end</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.LimitedParallelism">LimitedParallelism</a><ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.LimitedParallelism.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.LimitedParallelism.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.LimitedParallelism.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l10"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.LimitedParallelism.end">end</a></li>
+</ul>
+</li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.start">start</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.execute_async">execute_async</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.sync">sync</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.end">end</a></li>
+</ul>
+<ul>
+<li class="toctree-l9"><a class="reference internal" href="#airflow.executors.local_executor.LocalExecutor.terminate">terminate</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</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>
+</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>
@@ -566,9 +837,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="entrypoint.html"> Entrypoint</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.local_executor</span></code></a></li>
 
     </ul>
 </div>
@@ -579,255 +854,261 @@
                                 <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 “execution” 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 and GID can be passed via
-<code class="docutils literal notranslate"><span class="pre">AIRFLOW_UID</span></code> and <code class="docutils literal notranslate"><span class="pre">AIRFLOW_GID</span></code> variables as described in
-<a class="reference external" href="/docs/apache-airflow/stable/start/docker.html#initializing-docker-compose-environment" title="(in apache-airflow v2.1.3)"><span class="xref std std-ref">Initializing docker compose environment</span></a>.</p>
-<p>In case <code class="docutils literal notranslate"><span class="pre">GID</span></code> is set to <code class="docutils literal notranslate"><span class="pre">0</span></code>, the user can be any UID, but 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 “other” 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 “group write” 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 “arbitrary” user creates a folder (for example in a mounted volume), that
-folder will have a “group write” 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="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 “Support arbitrary user ids” 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 “bash” - 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.1.2-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.1.2-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 “airflow” - 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.1.2-python3.6 airflow webserver
-</pre></div>
-</div>
-<p>If there are any other arguments - they are simply passed to the “airflow” command</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>&gt; docker run -it apache/airflow:2.1.2-python3.6 version
-<span class="m">2</span>.1.2
-</pre></div>
-</div>
-</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">
-<colgroup>
-<col style="width: 10%" />
-<col style="width: 24%" />
-<col style="width: 65%" />
-</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>
-</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:main-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:main-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:master-python3.8 webserver
-</pre></div>
-</div>
-<p>This method is only available starting from Docker image of Airflow 2.1.1 and above.</p>
+  <div class="section" id="module-airflow.executors.local_executor">
+<span id="airflow-executors-local-executor"></span><h1><a class="reference internal" href="#module-airflow.executors.local_executor" title="airflow.executors.local_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors.local_executor</span></code></a><a class="headerlink" href="#module-airflow.executors.local_executor" title="Permalink to this headline">¶</a></h1>
+<p><p>LocalExecutor</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>For more information on how the LocalExecutor works, take a look at the guide:
+<a class="reference internal" href="../../../../executor/local.html#executor-localexecutor"><span class="std std-ref">Local Executor</span></a></p>
 </div>
+</p>
+<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 id="airflow.executors.local_executor.ExecutorWorkType">
+<code class="sig-prename descclassname">airflow.executors.local_executor.</code><code class="sig-name descname">ExecutorWorkType</code><a class="reference internal" href="../../../../_modules/airflow/executors/local_executor.html#ExecutorWorkType"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.local_executor.ExecutorWorkType" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py class">
+<dt id="airflow.executors.local_executor.LocalWorkerBase">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.local_executor.</code><code class="sig-name descname">LocalWorkerBase</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">result_queue</span><span class="p">:</span> <span class="n">‘Queue[TaskInstanceStateType]’</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/local_executor.html#LocalWorkerBase"><span clas [...]
+<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Process" title="(in Python v3.9)"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiprocessing.Process</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>LocalWorkerBase implementation to run airflow commands. Executes the given
+command and puts the result into a result queue when done, terminating execution.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>result_queue</strong> – the queue to store result state</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt id="airflow.executors.local_executor.LocalWorkerBase.run">
+<code class="sig-name descname">run</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/local_executor.html#LocalWorkerBase.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.local_executor.LocalWorkerBase.run" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.local_executor.LocalWorkerBase.execute_work">
+<code class="sig-name descname">execute_work</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n">command</span><span class="p">:</span> <span class="n">CommandType</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/local_execut [...]
+<dd><p>Executes command received and stores result state in queue.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>key</strong> – the key to identify the task instance</p></li>
+<li><p><strong>command</strong> – the command to execute</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.local_executor.LocalWorkerBase._execute_work_in_subprocess">
+<code class="sig-name descname">_execute_work_in_subprocess</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">command</span><span class="p">:</span> <span class="n">CommandType</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/local_executor.html#LocalWorkerBase._execute_work_in_subprocess"><span class="viewcode-link">[source]</span></a><a  [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.local_executor.LocalWorkerBase._execute_work_in_fork">
+<code class="sig-name descname">_execute_work_in_fork</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">command</span><span class="p">:</span> <span class="n">CommandType</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/local_executor.html#LocalWorkerBase._execute_work_in_fork"><span class="viewcode-link">[source]</span></a><a class="heade [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt id="airflow.executors.local_executor.LocalWorkerBase.do_work">
+<code class="sig-name descname">do_work</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../_modules/airflow/executors/local_executor.html#LocalWorkerBase.do_work"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.executors.local_executor.LocalWorkerBase.do_work" title="Permalink to this definition">¶</a></dt>
+<dd><p>Called in the subprocess and should then execute tasks</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt id="airflow.executors.local_executor.LocalWorker">
+<em class="property">class </em><code class="sig-prename descclassname">airflow.executors.local_executor.</code><code class="sig-name descname">LocalWorker</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">result_queue</span><span class="p">:</span> <span class="n">‘Queue[TaskInstanceStateType]’</span></em>, <em class="sig-param"><span class="n">key</span><span class="p">:</span> <span class="n">TaskInstanceKey</span></em>, <em class="sig-param"><span class="n"> [...]
+<dd><p>Bases: <a class="reference internal" href="#airflow.executors.local_executor.LocalWorkerBase" title="airflow.executors.local_executor.LocalWorkerBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.executors.local_executor.LocalWorkerBase</span></code></a></p>
+<p>Local worker that executes the task.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>result_queue</strong> – queue where results of the tasks are put.</p></li>
+<li><p><strong>key</strong> – key identifying task instance</p></li>
+<li><p><strong>command</strong> – Command to execute</p></li>
+</ul>
+</dd>
... 309254 lines suppressed ...