22from multiprocessing import Process , Queue
33
44from job_executor .adapter import job_service
5- from job_executor .domain import rollback
5+ from job_executor .domain import datastore , rollback
66from job_executor .domain .datastore import Datastore
77from job_executor .model .job import Job , JobStatus , Operation
88from job_executor .model .worker import Worker
@@ -23,7 +23,10 @@ class Manager:
2323 """
2424
2525 def __init__ (
26- self , max_workers : int , max_bytes_all_workers : int , datastore : Datastore
26+ self ,
27+ max_workers : int ,
28+ max_bytes_all_workers : int ,
29+ this_datastore : Datastore ,
2730 ) -> None :
2831 """
2932 :param default_max_workers: The maximum number of workers
@@ -34,7 +37,7 @@ def __init__(
3437 """
3538 self .max_workers = max_workers
3639 self .max_bytes_all_workers = max_bytes_all_workers
37- self .datastore = datastore
40+ self .datastore = this_datastore
3841 self .workers : list [Worker ] = []
3942
4043 @property
@@ -144,51 +147,65 @@ def handle_manager_job(self, job: Job) -> None:
144147 # Ignoring a lot of types here as we already have done the validation
145148 # in the pydantic model.
146149 if operation == Operation .BUMP :
147- self .datastore .bump_version (
150+ datastore .bump_version (
151+ self .datastore ,
148152 job_id ,
149153 job .parameters .bump_manifesto , # type: ignore
150154 job .parameters .description , # type: ignore
151155 )
152156 elif operation == Operation .PATCH_METADATA :
153- self .datastore .patch_metadata (
157+ datastore .patch_metadata (
158+ self .datastore ,
154159 job_id ,
155160 job .parameters .target ,
156161 job .parameters .description , # type: ignore
157162 )
158163 elif operation == Operation .SET_STATUS :
159- self .datastore .set_draft_release_status (
164+ datastore .set_draft_release_status (
165+ self .datastore ,
160166 job_id ,
161167 job .parameters .target ,
162168 job .parameters .release_status , # type: ignore
163169 )
164170 elif operation == Operation .ADD :
165- self .datastore .add (
171+ datastore .add (
172+ self .datastore ,
166173 job_id ,
167174 job .parameters .target ,
168175 job .parameters .description , # type: ignore
169176 )
170177 elif operation == Operation .CHANGE :
171- self .datastore .change (
178+ datastore .change (
179+ self .datastore ,
172180 job_id ,
173181 job .parameters .target ,
174182 job .parameters .description , # type: ignore
175183 )
176184 elif operation == Operation .REMOVE :
177- self .datastore .remove (
185+ datastore .remove (
186+ self .datastore ,
178187 job_id ,
179188 job .parameters .target ,
180189 job .parameters .description , # type: ignore
181190 )
182191 elif operation == Operation .ROLLBACK_REMOVE :
183- self .datastore .delete_draft (
184- job_id , job .parameters .target , rollback_remove = True
192+ datastore .delete_draft (
193+ self .datastore ,
194+ job_id ,
195+ job .parameters .target ,
196+ rollback_remove = True ,
185197 )
186198 elif operation == Operation .DELETE_DRAFT :
187- self .datastore .delete_draft (
188- job_id , job .parameters .target , rollback_remove = False
199+ datastore .delete_draft (
200+ self .datastore ,
201+ job_id ,
202+ job .parameters .target ,
203+ rollback_remove = False ,
189204 )
190205 elif operation == Operation .DELETE_ARCHIVE :
191- self .datastore .delete_archived_input (job_id , job .parameters .target )
206+ datastore .delete_archived_input (
207+ self .datastore , job_id , job .parameters .target
208+ )
192209 else :
193210 job_service .update_job_status (
194211 job .job_id , JobStatus .FAILED , log = "Unknown operation for job"
0 commit comments