@@ -76,13 +76,13 @@ def __init__(self):
7676 self ._gcp_batch_service = GcpBatchService ()
7777 self ._kubernetes_service = KubernetesService ()
7878
79- def _should_use_kubernetes (self , job_type : str ) -> bool :
79+ def _should_use_kubernetes (self ) -> bool :
8080 """Determines whether to use the Kubernetes backend for a given job.
8181
8282 The decision is made based on a random roll and the configured frequency
8383 for the given job type.
8484 """
85- frequencies = job_frequency .get_job_frequency (job_type )
85+ frequencies = job_frequency .get_job_frequency ()
8686 return random .random () < frequencies ['kubernetes' ]
8787
8888 def create_uworker_main_batch_job (self , module : str , job_type : str ,
@@ -91,7 +91,7 @@ def create_uworker_main_batch_job(self, module: str, job_type: str,
9191
9292 The choice of backend is determined by the `_should_use_kubernetes` method.
9393 """
94- if self ._should_use_kubernetes (job_type ):
94+ if self ._should_use_kubernetes ():
9595 return self ._kubernetes_service .create_uworker_main_batch_job (
9696 module , job_type , input_download_url )
9797 return self ._gcp_batch_service .create_uworker_main_batch_job (
@@ -106,28 +106,21 @@ def create_uworker_main_batch_jobs(self, remote_tasks: List[RemoteTask]):
106106 gcp_batch_tasks = []
107107 kubernetes_tasks = []
108108
109- # Group tasks by job_type to respect per-job frequencies
110- tasks_by_job = collections .defaultdict (list )
111- for task in remote_tasks :
112- tasks_by_job [task .job_type ].append (task )
113-
114- for job_type , tasks in tasks_by_job .items ():
115- # Use random distribution if there is only one task
116- if len (tasks ) == 1 :
117- if self ._should_use_kubernetes (job_type ):
118- kubernetes_tasks .extend (tasks )
119- else :
120- gcp_batch_tasks .extend (tasks )
121- continue
122-
109+ # Use random distribution if there is only one task
110+ if len (remote_tasks ) == 1 :
111+ if self ._should_use_kubernetes ():
112+ kubernetes_tasks .extend (remote_tasks )
113+ else :
114+ gcp_batch_tasks .extend (remote_tasks )
115+ else :
123116 # Use deterministic slicing for multiple tasks
124- frequencies = job_frequency .get_job_frequency (job_type )
117+ frequencies = job_frequency .get_job_frequency ()
125118 k8s_ratio = frequencies ['kubernetes' ]
126- k8s_count = int (len (tasks ) * k8s_ratio )
119+ k8s_count = int (len (remote_tasks ) * k8s_ratio )
127120
128121 # We take the first chunk for Kubernetes
129- kubernetes_tasks .extend (tasks [:k8s_count ])
130- gcp_batch_tasks .extend (tasks [k8s_count :])
122+ kubernetes_tasks .extend (remote_tasks [:k8s_count ])
123+ gcp_batch_tasks .extend (remote_tasks [k8s_count :])
131124
132125 logs .info (f'Sending { len (gcp_batch_tasks )} tasks to GCP Batch.' )
133126 logs .info (f'Sending { len (kubernetes_tasks )} tasks to Kubernetes.' )
0 commit comments