I think i requested a unified network rendering/distributed rendering solution for a number of times.
Finally have time to script something that kind of works.
This script basically check what DR servers are selected, then crosscheck with the backburner server list. Then it sets schedules for the dr servers to be unavailable.
You essentially need two scripts, one to disable servers on the Pre-Render Script, and one to disable for the Post-Render script.
Disabling services with PSTools via shell doesn't seem to be that efficient, so that was abandoned.
Can implement for Deadline if people are interested.
Let me know if it works in your environments as well.
Finally have time to script something that kind of works.
This script basically check what DR servers are selected, then crosscheck with the backburner server list. Then it sets schedules for the dr servers to be unavailable.
You essentially need two scripts, one to disable servers on the Pre-Render Script, and one to disable for the Post-Render script.
Disabling services with PSTools via shell doesn't seem to be that efficient, so that was abandoned.
Can implement for Deadline if people are interested.
Let me know if it works in your environments as well.
Code:
/* Disable/Enable Backburner for DR Copyright Ivor Ip 2012 */ --1. Find dr list dr_servers = #() bb_servers = #() dr_list = (dotNetClass "System.IO.File").ReadAllLines ((getDir #plugcfg)+"\\vray_dr.cfg") for i = 1 to (dr_list.count - 3) do( l = filterstring dr_list[i] " " if l[2] == "1" then( append dr_servers l[1] ) ) --2. Find BB server list, replace "rendermanagername with your server. m = netrender.getmanager() m.connect #manual "rendermanagername" bb_servers = m.getservers() m.getcontrol() m.setupdates false --3. X-check servers and set schedule for i in bb_servers do ( sched = i.schedule for j = 1 to 7 do( for k = 1 to 24 do( sched[j][k]=false --Set above to True for enable servers ) ) if (finditem dr_servers i.name) != 0 then ( i.schedule = sched i.SendUpdate() ) ) m.setupdates true
Comment