mirror of
https://github.com/blw1138/Zordon.git
synced 2025-12-17 08:48:13 +00:00
Added new_create_subjob method
This commit is contained in:
@@ -309,16 +309,31 @@ class DistributedJobManager:
|
||||
# submission_results.items()] # todo: fix this
|
||||
|
||||
@staticmethod
|
||||
def __create_subjob(job_data, local_hostname, project_path, server_data, server_hostname, worker):
|
||||
subjob = job_data.copy()
|
||||
subjob['name'] = f"{worker.name}[{server_data['frame_range'][0]}-{server_data['frame_range'][-1]}]"
|
||||
subjob['parent'] = f"{worker.id}@{local_hostname}"
|
||||
subjob['start_frame'] = server_data['frame_range'][0]
|
||||
subjob['end_frame'] = server_data['frame_range'][-1]
|
||||
logger.debug(f"Posting subjob with frames {subjob['start_frame']}-"
|
||||
f"{subjob['end_frame']} to {server_hostname}")
|
||||
post_results = RenderServerProxy(server_hostname).post_job_to_server(
|
||||
file_path=project_path, job_list=[subjob])
|
||||
def new_create_subjob(parent_job_id, remote_hostname, start_frame, end_frame):
|
||||
"""
|
||||
Create and post a subjob to a remote render server.
|
||||
|
||||
Parameters:
|
||||
- parent_job_id (str): ID of the parent job.
|
||||
- remote_hostname (str): Remote server's hostname/address.
|
||||
- start_frame (int): Starting frame of the subjob.
|
||||
- end_frame (int): Ending frame of the 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
|
||||
|
||||
@staticmethod
|
||||
|
||||
Reference in New Issue
Block a user