From bb4b6d29402e4f8d520d60e96217bf5c385c2b8d Mon Sep 17 00:00:00 2001 From: johha Date: Thu, 19 Dec 2024 15:14:32 +0100 Subject: [PATCH] Explicitly configure worker sleep delay Allows operators to provide a different sleep delay for the delayed workers. This can be used to e.g. reduce the database load of the delayed_jobs table. --- jobs/cloud_controller_ng/spec | 3 +++ jobs/cloud_controller_ng/templates/cloud_controller_ng.yml.erb | 1 + jobs/cloud_controller_worker/spec | 3 +++ .../templates/cloud_controller_ng.yml.erb | 1 + 4 files changed, 8 insertions(+) diff --git a/jobs/cloud_controller_ng/spec b/jobs/cloud_controller_ng/spec index 46fc28ab07..19d0290621 100644 --- a/jobs/cloud_controller_ng/spec +++ b/jobs/cloud_controller_ng/spec @@ -371,6 +371,9 @@ properties: cc.jobs.global.timeout_in_seconds: description: "The longest any job can take before it is cancelled unless overridden per job" default: 14400 # 4 hours + cc.jobs.global.worker_sleep_delay_in_seconds: + description: "The amount of time in seconds delayed workers sleep when no jobs are found" + default: 5 cc.jobs.queues.cc_generic.timeout_in_seconds: description: "The longest jobs in the cc-generic queue can take before they are cancelled" cc.jobs.blobstore_delete.timeout_in_seconds: diff --git a/jobs/cloud_controller_ng/templates/cloud_controller_ng.yml.erb b/jobs/cloud_controller_ng/templates/cloud_controller_ng.yml.erb index 132a55e70d..40b2034943 100644 --- a/jobs/cloud_controller_ng/templates/cloud_controller_ng.yml.erb +++ b/jobs/cloud_controller_ng/templates/cloud_controller_ng.yml.erb @@ -91,6 +91,7 @@ jobs: enable_dynamic_job_priorities: <%= p("cc.jobs.enable_dynamic_job_priorities") %> global: timeout_in_seconds: <%= p("cc.jobs.global.timeout_in_seconds") %> + worker_sleep_delay_in_seconds: <%= p("cc.jobs.global.worker_sleep_delay_in_seconds") %> queues: <% if (timeout = p("cc.jobs.queues.cc_generic.timeout_in_seconds", nil)) %> cc_generic: diff --git a/jobs/cloud_controller_worker/spec b/jobs/cloud_controller_worker/spec index 79a5cc3cd3..1ccaa1f77f 100644 --- a/jobs/cloud_controller_worker/spec +++ b/jobs/cloud_controller_worker/spec @@ -84,6 +84,9 @@ properties: cc.jobs.global.timeout_in_seconds: description: "The longest any job can take before it is cancelled unless overriden per job" default: 14400 # 4 hours + cc.jobs.global.worker_sleep_delay_in_seconds: + description: "The amount of time in seconds delayed workers sleep when no jobs are found" + default: 5 cc.jobs.blobstore_delete.timeout_in_seconds: description: "The longest this job can take before it is cancelled" diff --git a/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb b/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb index 429ba87432..3284644c11 100644 --- a/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb +++ b/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb @@ -47,6 +47,7 @@ jobs: enable_dynamic_job_priorities: <%= link("cloud_controller_internal").p("cc.jobs.enable_dynamic_job_priorities") %> global: timeout_in_seconds: <%= p("cc.jobs.global.timeout_in_seconds") %> + worker_sleep_delay_in_seconds: <%= p("cc.jobs.global.worker_sleep_delay_in_seconds") %> queues: {} <% if_p("cc.jobs.blobstore_delete.timeout_in_seconds") do |timeout| %> blobstore_delete: