Skip to content
Snippets Groups Projects
Commit 273df5e7 authored by Martin Poirier's avatar Martin Poirier
Browse files

[#27796] Netrendering "path:" failing

by Wintch Analyzer 

moving master working path initialization before connection creation

also added error checks and prints to debug an invalid internal state (related to another tracker entry)
parent 925f9bfe
No related branches found
No related tags found
No related merge requests found
...@@ -61,7 +61,11 @@ class MRenderSlave(netrender.model.RenderSlave): ...@@ -61,7 +61,11 @@ class MRenderSlave(netrender.model.RenderSlave):
self.last_seen = time.time() self.last_seen = time.time()
def finishedFrame(self, frame_number): def finishedFrame(self, frame_number):
self.job_frames.remove(frame_number) try:
self.job_frames.remove(frame_number)
except ValueError as e:
print("Internal error: Frame %i not in job frames list" % frame_number)
print(self.job_frames)
if not self.job_frames: if not self.job_frames:
self.job = None self.job = None
...@@ -849,7 +853,6 @@ class RenderHandler(http.server.BaseHTTPRequestHandler): ...@@ -849,7 +853,6 @@ class RenderHandler(http.server.BaseHTTPRequestHandler):
class RenderMasterServer(socketserver.ThreadingMixIn, http.server.HTTPServer): class RenderMasterServer(socketserver.ThreadingMixIn, http.server.HTTPServer):
def __init__(self, address, handler_class, path, subdir=True): def __init__(self, address, handler_class, path, subdir=True):
super().__init__(address, handler_class)
self.jobs = [] self.jobs = []
self.jobs_map = {} self.jobs_map = {}
self.slaves = [] self.slaves = []
...@@ -861,6 +864,9 @@ class RenderMasterServer(socketserver.ThreadingMixIn, http.server.HTTPServer): ...@@ -861,6 +864,9 @@ class RenderMasterServer(socketserver.ThreadingMixIn, http.server.HTTPServer):
else: else:
self.path = path self.path = path
if not os.path.exists(self.path):
os.mkdir(self.path)
self.slave_timeout = 5 # 5 mins: need a parameter for that self.slave_timeout = 5 # 5 mins: need a parameter for that
self.balancer = netrender.balancing.Balancer() self.balancer = netrender.balancing.Balancer()
...@@ -871,8 +877,7 @@ class RenderMasterServer(socketserver.ThreadingMixIn, http.server.HTTPServer): ...@@ -871,8 +877,7 @@ class RenderMasterServer(socketserver.ThreadingMixIn, http.server.HTTPServer):
self.balancer.addPriority(netrender.balancing.NewJobPriority()) self.balancer.addPriority(netrender.balancing.NewJobPriority())
self.balancer.addPriority(netrender.balancing.MinimumTimeBetweenDispatchPriority(limit = 2)) self.balancer.addPriority(netrender.balancing.MinimumTimeBetweenDispatchPriority(limit = 2))
if not os.path.exists(self.path): super().__init__(address, handler_class)
os.mkdir(self.path)
def restore(self, jobs, slaves, balancer = None): def restore(self, jobs, slaves, balancer = None):
self.jobs = jobs self.jobs = jobs
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment