Lobo's Blender Page

Farmerjoe - The Render Farmer

Farmerjoe is a distributed rendering system for Blender, it does both frame based distribution and bucket based (single frame) distribution, it has a web gui and is fairly easy to set up IMHO :) I had tried to get Drqueue running and it worked great on linux but was less than easy to use on windows. There are a few other distributed rendering systems for blender but I wanted something I could run independantly of blender and seeing how I knew perl I hacked together this system to get distributed rendering running for Blender the way I wanted it to work.

Why Another Network Rendering System?

I originally tried to get DrQueue working, and while a very good system is a bit of a mission to get installed for windows and after struggling with it I figured that rather wasting anymore time trying out other systems, I would just write one that did things the way I wanted.

How is Farmerjoe Different?

Well, I hate having to install all sorts of stuff to get another render slave working so Farmerjoe is designed to have no install for render slaves. I also dont like having to install much for the server, and as I only really know how to program in perl I wrote the whole system in Perl as a (single script for the mostpart) and also compiled it to an exe version so you dont even have to install perl. Farmerjoe also is, I think one of the first distributed rendering systems for Blender to do both frame based and bucket rendering. (bucket rendering = rendering a single image in parts afaik)

What Platforms does Farmerjoe Work On?

In theory any platform blender and perl and blender run on, but I have only run it on Linux, Windows and now OSX, to run on other platforms a bit of code would need changing, I can fo this but cannot compile it as I only have Lin/Win/OSX

There are Windows, Linux and OSX Binaries included.

The binaries were made using PAR a free perl module which packs perl code into a single executable binary.

Features

Farmerjoe features a BPY gui script to submit jobs from blender

BPY Gui
 

Also there is a web appserver which allows you to check on jobs as they render.

BPY Gui

Other features are planned as I have the time
This is an early release and theres bound to be bugs, and some things are not done the best way but its been very useful for me.

Please Read the Documentation

Download: Farmerjoe - Distributed Rendering for BLender
See included documentation for how to use it.

Farmerjoe_0.1.3.zip

0.1.3
  • resets task state to pending unless complete when Master starts
  • switched to yaml insteal of xml, resulting in 3.5 times smaller state file
  • added --webgui option to be more indicative of what the option does. (for ray.n.baud)
  • Changed from XML to YAML to store Farmerjoes state this has sped up reading writing as YAML is not tag based. YAML is also used for communication between the master and web gui server so there is no need for lock files as only the master writes to reads/files state files. GZIP comression has also been added for master web gui server communication resulting in very good scaling. For the web gui server to retrieve the state from the master the time for 1 job with 10 Frames was 1.046 sec. for 2 jobs with combined 5010 Frames it was 1.351 sec. the main bottleneck for large frame counts is now rendering the html in the browser.
  • added use of nbtscan to lookup windows netbios name on linux master
  • removed logs folder, redirect STDOUT to file to create a log
  • Added more information about starting Farmerjoe, command line usage etc.
  • reset/unassign tasks when client disconnects
  • Added Server column for tasks to show what slave is assigned/rendered it
  • --debug option added to show more info
  • Added Javascript confirm dialog to Delete Job
  • Added title attribute to jobname to show percentage details, and actions to show description of what they do.
  • Added Progress bar for easy visual check of completeness.
  • Modified the webgui to maintain a constant connection to the master which resulted in many times increase in response time for the webgui - its fast as now. The webgui server will also reconnect as needed and return an error message if it cant connect to the master.
  • update farmerjoe_sumbit for osx
  • start/pause slave
  • start/pause job
Farmerjoe_0.1.2.zip 0.1.2

Added command line help
Added debug command line option
Added check for timed out tasks every 60 seconds
Rewrote/added to help
Slave will now try to recconnect every 30 seconds if master is not running

Farmerjoe_0.1.1.zip 0.1.1

Fixed(hopefully)problems with spaces in blender path
added seconds to the timestamp for job directories
Brinaries for Windows and Linux and a perl script if you prefer.
Also included is a BPY script for submitting a job from within Blender

 


Blender WebRing Home Next Site List Random Previous
We use third-party advertising companies to serve ads when you visit our website. These companies may use information (not including your name, address, email address, or telephone number) about your visits to this and other websites in order to provide advertisements about goods and services of interest to you. If you would like more information about this practice and to know your choices about not having this information used by these companies, click here.