Skip to content

Conversation

@Jorricks
Copy link
Contributor

Problem statement

The celery worker runs many different workloads. Depending on the size of your Celery worker, you could run anywhere from 1 to 100's of concurrent tasks. There is no resource isolation within a Celery worker and a single job could in theory (and in practice) consume most of the available CPU & Memory. There is AFAIK no monitoring in place which monitors existing processes and tracks this down to specific DAGs and Tasks.

Improving the visibility

We are trying a POC where we run a background process which continuously monitors the processes in the container, and based on the command of each process figures out what dag & task it belongs to. These metrics will be exposed as a prometheus endpoint, which needs an additional port.

Proposed change

  • Introduce .Values.workers.extraPorts to have the ability to expose an extra port on the Airflow worker container.

@boring-cyborg boring-cyborg bot added the area:helm-chart Airflow Helm Chart label Feb 12, 2025
@Jorricks Jorricks changed the title Introduce worker.extraPorts to expose additional ports to worker container Chart - Introduce worker.extraPorts to expose additional ports to worker container Feb 12, 2025
@potiuk potiuk merged commit 14199a5 into apache:main Feb 12, 2025
61 checks passed
@Jorricks Jorricks deleted the introduce-worker-extraports branch February 13, 2025 05:01
@eladkal eladkal added this to the Airflow Helm Chart 1.16.0 milestone Feb 13, 2025
ambika-garg pushed a commit to ambika-garg/airflow that referenced this pull request Feb 17, 2025
…ainer (apache#46679)

Co-authored-by: jorrick <jorrick.sleijster@adyen.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:helm-chart Airflow Helm Chart

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants