@@ -88,10 +88,14 @@ def deserialize(cls, submission_dict, machine=None):
8888 backward_common_files = submission_dict ['backward_common_files' ])
8989 submission .belonging_jobs = [Job .deserialize (job_dict = job_dict ) for job_dict in submission_dict ['belonging_jobs' ]]
9090 submission .submission_hash = submission .get_hash ()
91- submission .bind_machine (machine = machine )
91+ if machine is not None :
92+ submission .bind_machine (machine = machine )
93+ else :
94+ machine = Machine .deserialize (machine_dict = submission_dict ['machine' ])
95+ submission .bind_machine (machine )
9296 return submission
9397
94- def serialize (self , if_static = False , if_none_local_root = False ):
98+ def serialize (self , if_static = False ):
9599 """convert the Submission class instance to a dictionary.
96100
97101 Parameters
@@ -105,11 +109,17 @@ def serialize(self, if_static=False, if_none_local_root=False):
105109 the dictionary converted from the Submission class instance
106110 """
107111 submission_dict = {}
108- if if_none_local_root :
109- submission_dict ['local_root' ] = None
110- else :
111- submission_dict ['local_root' ] = self .local_root
112+ # if if_none_local_root:
113+ # submission_dict['local_root'] = None
114+ # else:
115+ # submission_dict['local_root'] = self.local_root
116+
112117 submission_dict ['work_base' ] = self .work_base
118+ machine = getattr (self , 'machine' , None )
119+ if machine is None :
120+ submission_dict ['machine' ] = {}
121+ else :
122+ submission_dict ['machine' ] = machine .serialize ()
113123 submission_dict ['resources' ] = self .resources .serialize ()
114124 submission_dict ['forward_common_files' ] = self .forward_common_files
115125 submission_dict ['backward_common_files' ] = self .backward_common_files
@@ -333,7 +343,7 @@ def try_recover_from_json(self):
333343 if self == submission :
334344 self .belonging_jobs = submission .belonging_jobs
335345 self .bind_machine (machine = self .machine )
336- dlog .info (f"Find old submission; recover from json; "
346+ dlog .info (f"Find old submission; recover submission from json file; "
337347 f"submission.submission_hash:{ submission .submission_hash } ; "
338348 f"machine.context.remote_root:{ self .machine .context .remote_root } ; "
339349 f"submission.work_base:{ submission .work_base } ;" )
0 commit comments