devscheffer commented on PR #36882:
URL: https://github.com/apache/airflow/pull/36882#issuecomment-1921445378
I had similar problems and thought about something like that
```
from airflow.providers.cncf.kubernetes.operators.kubernetes_pod import
KubernetesPodOperator
from airflow.utils.decorators import apply_defaults
from datetime import timedelta
import time
class CustomKubernetesPodOperator(KubernetesPodOperator):
@apply_defaults
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def execute(self, context):
# Check if there are enough resources on the cluster
while True:
cpu_available = check_cpu()
memory_available = check_memory()
if cpu_available and memory_available:
break
else:
time.sleep(300) # Wait for 5 minutes
# Send the request to the Kubernetes cluster
super().execute(context)
def check_cpu(self):
# Check if there is enough CPU available on the cluster
# Return True if there is enough CPU available, False otherwise
pass
def check_memory(self):
# Check if there is enough memory available on the cluster
# Return True if there is enough memory available, False otherwise
pass
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]