mirror of
https://github.com/blw1138/Zordon.git
synced 2025-12-17 16:58:12 +00:00
Added new_create_subjob method
This commit is contained in:
@@ -306,16 +306,31 @@ class DistributedJobManager:
|
|||||||
# submission_results.items()] # todo: fix this
|
# submission_results.items()] # todo: fix this
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def __create_subjob(job_data, local_hostname, project_path, server_data, server_hostname, worker):
|
def new_create_subjob(parent_job_id, remote_hostname, start_frame, end_frame):
|
||||||
subjob = job_data.copy()
|
"""
|
||||||
subjob['name'] = f"{worker.name}[{server_data['frame_range'][0]}-{server_data['frame_range'][-1]}]"
|
Create and post a subjob to a remote render server.
|
||||||
subjob['parent'] = f"{worker.id}@{local_hostname}"
|
|
||||||
subjob['start_frame'] = server_data['frame_range'][0]
|
Parameters:
|
||||||
subjob['end_frame'] = server_data['frame_range'][-1]
|
- parent_job_id (str): ID of the parent job.
|
||||||
logger.debug(f"Posting subjob with frames {subjob['start_frame']}-"
|
- remote_hostname (str): Remote server's hostname/address.
|
||||||
f"{subjob['end_frame']} to {server_hostname}")
|
- start_frame (int): Starting frame of the subjob.
|
||||||
post_results = RenderServerProxy(server_hostname).post_job_to_server(
|
- end_frame (int): Ending frame of the subjob.
|
||||||
file_path=project_path, job_list=[subjob])
|
|
||||||
|
Example:
|
||||||
|
new_create_subjob('parent_job_123', 'remote-server.example.com', 1, 100)
|
||||||
|
"""
|
||||||
|
logger.info(f"parentID: {parent_job_id}")
|
||||||
|
parent_job = RenderQueue.job_with_id(parent_job_id)
|
||||||
|
subjob_data = {'renderer': parent_job.engine.name(), 'input_path': parent_job.input_path,
|
||||||
|
'args': parent_job.args, 'output_path': parent_job.output_path,
|
||||||
|
'engine_version': parent_job.renderer_version, 'start_frame': start_frame,
|
||||||
|
'end_frame': end_frame, 'parent': f"{parent_job_id}@{socket.gethostname()}"}
|
||||||
|
|
||||||
|
logger.debug(f"new subjob data: {subjob_data}")
|
||||||
|
|
||||||
|
logger.debug(f"Creating subjob {start_frame}-{end_frame} for {remote_hostname}")
|
||||||
|
post_results = RenderServerProxy(remote_hostname).post_job_to_server(
|
||||||
|
file_path=parent_job.input_path, job_list=[subjob_data])
|
||||||
return post_results
|
return post_results
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|||||||
Reference in New Issue
Block a user