Posts Tagged 'mysql'

Brender Render farm queue management system developement

I have written a few times on this blog about Brender. It is a little in-house system that I developed and used for the last 3 or 4 years to help me manage some rendering and scene management on different machines in our studio. To release the code to the public was always a wish to me, but not possible without some cleaning. It was first developed specifically for our network and machines, including a lot of hardcoded variables, machine names, IP’s and blender path.

Luckily recently I got the help of Francesco Siddi,  and we are working hard to have something downloadable (maybe before christmas?) .

A little work in progress screenshot

But be warned, this might not be the easiest render farm solution to set up and install 🙂 It is a system based on an apache web interface and mysql database. If you are interested to test it contact me (oenvoyage AT gmail) or Francesco (francesco.siddi AT gmail)

blender gameengine mysql interface for render farm visualization

Hello and happy new year 2010!
With a new year comes new ideas, and one of those (actually since a long time in my mind) was to develop a fun visualization of the render farm datas like rendernode status etc.
Unfortunately i never had time to dig into python and the gameengine. But christmas holiday brings its amount of free days to study new things.
first of all here is a quick video showing it at work:

you can see a bit how it works. In fact it is quiet simple the script is linked to an “always” actuator with a pulse mode of 20 so it updates about every second.
using the MySQLdb python module it creates a connection to the renderfarm database where it gets a list of clients and there actual status (which can be idle, disabled or rendering) then it tries to see if an object with the name of the renderclient exists in the gamengine scene. If an object exists then the script assigns the status of the client to the corresponding object property called “status” (line ob[‘status’]=row[2]) .

the second part of the script (brenderdb.execute (“select round(sum(end-current)/sum(end-start)*100) as frames from jobs where status=’rendering’ or status=’waiting’ or status=’pause’;”) tries to find out how many renders there are still left to render and assigns that value to an object’s property.

Then the rest is just Game Engine logic bricks, although more powerfull (and only limited by imagination) could be done in scripting. Each fireball has 3 actions that are played when the value of “status” changes to the corresponding action (idle, rendering and disabled)

Now I will try to see what if i could adapt this to 2.5 and the NetRender…maybe during the next holidays 🙂

Feel free to ask for questions here or by email (

%d bloggers like this: