From 6b21e31a28dc21cafce9d31437e3b83dc8218e43 Mon Sep 17 00:00:00 2001 From: Bruno Ferreira Date: Mon, 27 Jul 2026 11:53:03 +0100 Subject: [PATCH] fix(app): cap Celery worker concurrency in the Helm chart (#12054) Co-authored-by: Cursor --- contrib/k8s/helm/prowler-app/values.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/contrib/k8s/helm/prowler-app/values.yaml b/contrib/k8s/helm/prowler-app/values.yaml index ed390af29e..1bc6fe8422 100644 --- a/contrib/k8s/helm/prowler-app/values.yaml +++ b/contrib/k8s/helm/prowler-app/values.yaml @@ -189,6 +189,11 @@ api: DJANGO_STALE_WHILE_REVALIDATE: "60" DJANGO_MANAGE_DB_PARTITIONS: "True" DJANGO_BROKER_VISIBILITY_TIMEOUT: "86400" + # Caps the Celery prefork pool size on the worker pods. Without it, Celery + # sizes the pool from the number of visible CPUs, so on large nodes the + # worker spawns one child per CPU, each loading the full Prowler SDK, and + # OOMKills under memory pressure. Raise it on bigger workers. + DJANGO_CELERY_WORKER_CONCURRENCY: "2" # Secret names to be used as env vars for api, worker, and worker_beat. secrets: []