[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28453] trunk/blender/release/scripts/io/ netrender: NetRender tweaks by Brecht
Martin Poirier
theeth at yahoo.com
Tue Apr 27 05:14:41 CEST 2010
Revision: 28453
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28453
Author: theeth
Date: 2010-04-27 05:14:40 +0200 (Tue, 27 Apr 2010)
Log Message:
-----------
NetRender tweaks by Brecht
* Client connection is made from panel poll functions even if
netrender is disabled
* Network render slave should print when it has connected to server,
now it says "node initiation", I initially thought this meant it was
not connected yet.
* Web interface should auto-refresh, I got confused if job and slaves
were actually found or not.
Modified Paths:
--------------
trunk/blender/release/scripts/io/netrender/master.py
trunk/blender/release/scripts/io/netrender/master_html.py
trunk/blender/release/scripts/io/netrender/slave.py
trunk/blender/release/scripts/io/netrender/ui.py
Modified: trunk/blender/release/scripts/io/netrender/master.py
===================================================================
--- trunk/blender/release/scripts/io/netrender/master.py 2010-04-27 02:30:41 UTC (rev 28452)
+++ trunk/blender/release/scripts/io/netrender/master.py 2010-04-27 03:14:40 UTC (rev 28453)
@@ -190,6 +190,11 @@
edit_pattern = re.compile("/edit_([a-zA-Z0-9]+)")
class RenderHandler(http.server.BaseHTTPRequestHandler):
+ def log_message(self, format, *args):
+ # override because the original calls self.address_string(), which
+ # is extremely slow due to some timeout..
+ sys.stderr.write("[%s] %s\n" % (self.log_date_time_string(), format%args))
+
def send_head(self, code = http.client.OK, headers = {}, content = "application/octet-stream"):
self.send_response(code)
self.send_header("Content-type", content)
@@ -1010,7 +1015,7 @@
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
- start_time = time.time()
+ start_time = time.time() - 2
while not test_break():
try:
@@ -1018,7 +1023,7 @@
except select.error:
pass
- if time.time() - start_time >= 10: # need constant here
+ if time.time() - start_time >= 2: # need constant here
httpd.timeoutSlaves()
httpd.updateUsage()
@@ -1031,3 +1036,4 @@
httpd.server_close()
if clear:
clearMaster(httpd.path)
+
Modified: trunk/blender/release/scripts/io/netrender/master_html.py
===================================================================
--- trunk/blender/release/scripts/io/netrender/master_html.py 2010-04-27 02:30:41 UTC (rev 28452)
+++ trunk/blender/release/scripts/io/netrender/master_html.py 2010-04-27 03:14:40 UTC (rev 28453)
@@ -29,6 +29,7 @@
def head(title):
output("<html><head>")
+ output("<meta http-equiv='refresh' content=5>")
output("<script src='/html/netrender.js' type='text/javascript'></script>")
# output("<script src='/html/json2.js' type='text/javascript'></script>")
output("<title>")
Modified: trunk/blender/release/scripts/io/netrender/slave.py
===================================================================
--- trunk/blender/release/scripts/io/netrender/slave.py 2010-04-27 02:30:41 UTC (rev 28452)
+++ trunk/blender/release/scripts/io/netrender/slave.py 2010-04-27 03:14:40 UTC (rev 28453)
@@ -105,6 +105,8 @@
if not os.path.exists(NODE_PREFIX):
os.mkdir(NODE_PREFIX)
+ engine.update_stats("", "Network render connected to master, waiting for jobs")
+
while not engine.test_break():
conn.request("GET", "/job", headers={"slave-id":slave_id})
response = conn.getresponse()
@@ -113,6 +115,7 @@
timeout = 1 # reset timeout on new job
job = netrender.model.RenderJob.materialize(eval(str(response.read(), encoding='utf8')))
+ engine.update_stats("", "Network render processing job from master")
JOB_PREFIX = NODE_PREFIX + "job_" + job.id + os.sep
if not os.path.exists(JOB_PREFIX):
@@ -245,6 +248,8 @@
conn.request("PUT", "/render", headers=headers)
if conn.getresponse().status == http.client.NO_CONTENT:
continue
+
+ engine.update_stats("", "Network render connected to master, waiting for jobs")
else:
if timeout < MAX_TIMEOUT:
timeout += INCREMENT_TIMEOUT
Modified: trunk/blender/release/scripts/io/netrender/ui.py
===================================================================
--- trunk/blender/release/scripts/io/netrender/ui.py 2010-04-27 02:30:41 UTC (rev 28452)
+++ trunk/blender/release/scripts/io/netrender/ui.py 2010-04-27 03:14:40 UTC (rev 28453)
@@ -213,9 +213,10 @@
def poll(self, context):
scene = context.scene
netsettings = scene.network_render
+ if netsettings.mode != "RENDER_CLIENT":
+ return False
verify_address(netsettings)
return (super().poll(context)
- and netsettings.mode == "RENDER_CLIENT"
and netsettings.server_address != "[default]")
def draw(self, context):
@@ -251,9 +252,10 @@
def poll(self, context):
scene = context.scene
netsettings = scene.network_render
+ if netsettings.mode != "RENDER_CLIENT":
+ return False
verify_address(netsettings)
return (super().poll(context)
- and netsettings.mode == "RENDER_CLIENT"
and netsettings.server_address != "[default]")
def draw(self, context):
@@ -288,9 +290,10 @@
def poll(self, context):
scene = context.scene
netsettings = scene.network_render
+ if netsettings.mode != "RENDER_CLIENT":
+ return False
verify_address(netsettings)
return (super().poll(context)
- and netsettings.mode == "RENDER_CLIENT"
and netsettings.server_address != "[default]")
def draw(self, context):
More information about the Bf-blender-cvs
mailing list