@@ -84,9 +84,10 @@ sql_alchemy_max_overflow = 10
84
84
# a lower config value will allow the system to recover faster.
85
85
sql_alchemy_pool_recycle = 1800
86
86
87
- # How many seconds to retry re-establishing a DB connection after
88
- # disconnects. Setting this to 0 disables retries.
89
- sql_alchemy_reconnect_timeout = 300
87
+ # Check connection at the start of each connection pool checkout.
88
+ # Typically, this is a simple statement like “SELECT 1”.
89
+ # More information here: https://docs.sqlalchemy.org/en/13/core/pooling.html#disconnect-handling-pessimistic
90
+ sql_alchemy_pool_pre_ping = True
90
91
91
92
# The schema to use for the metadata database
92
93
# SqlAlchemy supports databases with the concept of multiple schemas.
@@ -127,6 +128,9 @@ donot_pickle = False
127
128
# How long before timing out a python file import while filling the DagBag
128
129
dagbag_import_timeout = 30
129
130
131
+ # How long before timing out a DagFileProcessor, which processes a dag file
132
+ dag_file_processor_timeout = 50
133
+
130
134
# The class to use for running task instances in a subprocess
131
135
task_runner = StandardTaskRunner
132
136
@@ -167,6 +171,9 @@ worker_precheck = False
167
171
# When discovering DAGs, ignore any files that don't contain the strings `DAG` and `airflow`.
168
172
dag_discovery_safe_mode = True
169
173
174
+ # The number of retries each task is going to have by default. Can be overridden at dag or task level.
175
+ default_task_retries = 0
176
+
170
177
[cli]
171
178
# In what way should the cli access the API. The LocalClient will use the
172
179
# database directly, while the json_client will use the api running on the
@@ -315,6 +322,10 @@ cookie_samesite =
315
322
# Default setting for wrap toggle on DAG code and TI log views.
316
323
default_wrap = False
317
324
325
+ # Send anonymous user activity to your analytics tool
326
+ # analytics_tool = # choose from google_analytics, segment, or metarouter
327
+ # analytics_id = XXXXXXXXXXX
328
+
318
329
[email]
319
330
email_backend = airflow.utils.email.send_email_smtp
320
331
@@ -454,6 +465,13 @@ scheduler_heartbeat_sec = 5
454
465
# -1 indicates to run continuously (see also num_runs)
455
466
run_duration = -1
456
467
468
+ # The number of times to try to schedule each DAG file
469
+ # -1 indicates unlimited number
470
+ num_runs = -1
471
+
472
+ # The number of seconds to wait between consecutive DAG file processing
473
+ processor_poll_interval = 1
474
+
457
475
# after how much time (seconds) a new DAGs should be picked up from the filesystem
458
476
min_file_process_interval = 0
459
477
@@ -605,6 +623,11 @@ json_format = False
605
623
# Log fields to also attach to the json output, if enabled
606
624
json_fields = asctime, filename, lineno, levelname, message
607
625
626
+ [elasticsearch_configs]
627
+
628
+ use_ssl = False
629
+ verify_certs = True
630
+
608
631
[kubernetes]
609
632
# The repository, tag and imagePullPolicy of the Kubernetes Image for the Worker to Run
610
633
worker_container_repository =
@@ -697,10 +720,25 @@ git_dags_folder_mount_point =
697
720
git_ssh_key_secret_name =
698
721
git_ssh_known_hosts_configmap_name =
699
722
723
+ # To give the git_sync init container credentials via a secret, create a secret
724
+ # with two fields: GIT_SYNC_USERNAME and GIT_SYNC_PASSWORD (example below) and
725
+ # add `git_sync_credentials_secret = <secret_name>` to your airflow config under the kubernetes section
726
+ #
727
+ # Secret Example:
728
+ # apiVersion: v1
729
+ # kind: Secret
730
+ # metadata:
731
+ # name: git-credentials
732
+ # data:
733
+ # GIT_SYNC_USERNAME: <base64_encoded_git_username>
734
+ # GIT_SYNC_PASSWORD: <base64_encoded_git_password>
735
+ git_sync_credentials_secret =
736
+
700
737
# For cloning DAGs from git repositories into volumes: https://github.com/kubernetes/git-sync
701
738
git_sync_container_repository = k8s.gcr.io/git-sync
702
739
git_sync_container_tag = v3.1.1
703
740
git_sync_init_container_name = git-sync-clone
741
+ git_sync_run_as_user = 65533
704
742
705
743
# The name of the Kubernetes service account to be associated with airflow workers, if any.
706
744
# Service accounts are required for workers that require access to secrets or cluster resources.
@@ -742,7 +780,9 @@ tolerations =
742
780
# List of supported params in **kwargs are similar for all core_v1_apis, hence a single config variable for all apis
743
781
# See:
744
782
# https://raw.githubusercontent.com/kubernetes-client/python/master/kubernetes/client/apis/core_v1_api.py
745
- kube_client_request_args =
783
+ # Note that if no _request_timeout is specified, the kubernetes client will wait indefinitely for kubernetes
784
+ # api responses, which will cause the scheduler to hang. The timeout is specified as [connect timeout, read timeout]
785
+ kube_client_request_args = {{" _request_timeout" : [60,60] }}
746
786
747
787
# Worker pods security context options
748
788
# See:
0 commit comments