@@ -4885,9 +4885,13 @@ def get_worker_limits(self, site_name: str, queue_config) -> tuple[dict, dict]:
48854885 n_queue_limit_worker_per_rt_eval = n_queue_limit_worker_eval
48864886 if nQueueLimitWorkerCoresRatio is not None :
48874887 n_queue_limit_cores_by_ratio = int (worker_stats_map ["running" ]["core" ] * nQueueLimitWorkerCoresRatio / 100 )
4888- if n_queue_limit_worker_cores_min_eval is None and nQueueLimitWorkerMin is not None :
4888+ if nQueueLimitWorkerMin is not None :
48894889 # get n_queue_limit_worker_cores_min_eval from nQueueLimitWorkerMin if nQueueLimitWorkerCoresMin is not set to ensure the minimum cores (1 core per worker)
4890- n_queue_limit_worker_cores_min_eval = int (nQueueLimitWorkerMin * 1 )
4890+ n_queue_limit_worker_cores_min_base = int (nQueueLimitWorkerMin * 1 )
4891+ if n_queue_limit_worker_cores_min_eval is None :
4892+ n_queue_limit_worker_cores_min_eval = n_queue_limit_worker_cores_min_base
4893+ else :
4894+ n_queue_limit_worker_cores_min_eval = max (n_queue_limit_worker_cores_min_eval , n_queue_limit_worker_cores_min_base )
48914895 if n_queue_limit_worker_cores_min_eval is not None and n_queue_limit_cores_by_ratio < n_queue_limit_worker_cores_min_eval :
48924896 if n_queue_limit_worker_cores_eval is not None :
48934897 n_queue_limit_worker_cores_eval = min (n_queue_limit_worker_cores_eval , n_queue_limit_worker_cores_min_eval )
@@ -4900,9 +4904,13 @@ def get_worker_limits(self, site_name: str, queue_config) -> tuple[dict, dict]:
49004904 n_queue_limit_worker_cores_eval = n_queue_limit_cores_by_ratio
49014905 if nQueueLimitWorkerMemoryRatio is not None :
49024906 n_queue_limit_mem_by_ratio = int (worker_stats_map ["running" ]["mem" ] * nQueueLimitWorkerMemoryRatio / 100 )
4903- if n_queue_limit_worker_mem_min_eval is None and nQueueLimitWorkerMin is not None :
4907+ if nQueueLimitWorkerMin is not None :
49044908 # get n_queue_limit_worker_mem_min_eval from nQueueLimitWorkerMin if nQueueLimitWorkerMemoryMin is not set to ensure the minimum memory (1000 MB per worker)
4905- n_queue_limit_worker_mem_min_eval = int (nQueueLimitWorkerMin * 1000 )
4909+ n_queue_limit_worker_mem_min_base = int (nQueueLimitWorkerMin * 1000 )
4910+ if n_queue_limit_worker_mem_min_eval is None :
4911+ n_queue_limit_worker_mem_min_eval = n_queue_limit_worker_mem_min_base
4912+ else :
4913+ n_queue_limit_worker_mem_min_eval = max (n_queue_limit_worker_mem_min_eval , n_queue_limit_worker_mem_min_base )
49064914 if n_queue_limit_worker_mem_min_eval is not None and n_queue_limit_mem_by_ratio < n_queue_limit_worker_mem_min_eval :
49074915 if n_queue_limit_worker_mem_eval is not None :
49084916 n_queue_limit_worker_mem_eval = min (n_queue_limit_worker_mem_eval , n_queue_limit_worker_mem_min_eval )
0 commit comments