File tree Expand file tree Collapse file tree 3 files changed +15
-16
lines changed Expand file tree Collapse file tree 3 files changed +15
-16
lines changed Original file line number Diff line number Diff line change @@ -86,7 +86,7 @@ class CreateJob(BaseModel):
86
86
output_filename_template : Optional [str ] = OUTPUT_FILENAME_TEMPLATE
87
87
compute_type : Optional [str ] = None
88
88
package_input_folder : Optional [bool ] = None
89
- depends_on : Optional [str ] = None
89
+ depends_on : Optional [List [ str ] ] = None
90
90
workflow_id : str = None
91
91
92
92
@root_validator
@@ -150,7 +150,7 @@ class DescribeJob(BaseModel):
150
150
downloaded : bool = False
151
151
package_input_folder : Optional [bool ] = None
152
152
packaged_files : Optional [List [str ]] = []
153
- depends_on : Optional [str ] = None
153
+ depends_on : Optional [List [ str ] ] = None
154
154
workflow_id : str = None
155
155
156
156
class Config :
@@ -197,7 +197,7 @@ class UpdateJob(BaseModel):
197
197
status : Optional [Status ] = None
198
198
name : Optional [str ] = None
199
199
compute_type : Optional [str ] = None
200
- depends_on : Optional [str ] = None
200
+ depends_on : Optional [List [ str ] ] = None
201
201
202
202
203
203
class DeleteJob (BaseModel ):
Original file line number Diff line number Diff line change @@ -570,13 +570,20 @@ def get_workflow(self, workflow_id: str) -> DescribeWorkflow:
570
570
return model
571
571
572
572
def create_workflow_task (self , workflow_id : str , model : CreateJob ) -> str :
573
- job_id = self .scheduler . create_job (model , run = False )
574
- workflow : DescribeWorkflow = self .scheduler . get_workflow (workflow_id )
573
+ job_id = self .create_job (model , run = False )
574
+ workflow : DescribeWorkflow = self .get_workflow (workflow_id )
575
575
updated_tasks = (workflow .tasks or [])[:]
576
576
updated_tasks .append (job_id )
577
- self .scheduler . update_workflow (workflow_id , UpdateWorkflow (depends_on = updated_tasks ))
577
+ self .update_workflow (workflow_id , UpdateWorkflow (tasks = updated_tasks ))
578
578
return job_id
579
579
580
+ def update_workflow (self , workflow_id : str , model : UpdateWorkflow ):
581
+ with self .db_session () as session :
582
+ session .query (Workflow ).filter (Workflow .workflow_id == workflow_id ).update (
583
+ model .dict (exclude_none = True )
584
+ )
585
+ session .commit ()
586
+
580
587
def update_job (self , job_id : str , model : UpdateJob ):
581
588
with self .db_session () as session :
582
589
session .query (Job ).filter (Job .job_id == job_id ).update (model .dict (exclude_none = True ))
Original file line number Diff line number Diff line change @@ -173,16 +173,8 @@ class Config:
173
173
174
174
175
175
class UpdateWorkflow (BaseModel ):
176
- workflow_id : str
177
- tasks : List [str ] = None
178
- status : Status = None
176
+ tasks : Optional [List [str ]] = None
177
+ status : Optional [Status ] = None
179
178
180
179
class Config :
181
180
orm_mode = True
182
-
183
-
184
- class UpdateWorkflow (BaseModel ):
185
- status : Optional [Status ] = None
186
- name : Optional [str ] = None
187
- compute_type : Optional [str ] = None
188
- depends_on : Optional [str ] = None
You can’t perform that action at this time.
0 commit comments