Skip to content

MartijnBraam/blendqueue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blendqueue

This tool is divided in two programs. blenderenqueue.py moves a blender file to the central fileserver and adds the file to the rabbitmq queue for rendering. On each render node you start blenderworker.py and it receives one task from the rabbitmq server and renders it using blender.

Requirements

This program assumes that:

  • Blender is installed on the render node
  • The enqueue and worker tool have access to shared storage
  • The enqueue and worker tool have access to a rabbitmq server

Installation

Enqueue node:

$ git clone https://github.com/MartijnBraam/blendqueue.git
$ pip install pika

Rabbit server:

$ apt get install rabbitmq

Worker node:

$ apt-get install blender
$ pip install pika
$ git clone https://github.com/MartijnBraam/blendqueue.git

Configuration

Both tools read their config from blenderqueue.cfg in the current directory by default. Override this with the --configfile= parameter

Example blenderqueue.cfg:

[rabbitmq]
server=127.0.0.1
username=guest
password=guest
port=5672
virtualhost=%%2f #this is a config-escaped urlencoded /

[storage]
path=/mnt/storage/rabbit/blender

Usage

Start the worker script on a worker node.

$ python3 blenderworker.py
or
$ python3 blenderworker.py --configfile=/etc/blenderqueue.cfg

Enqueue an blend file.

$ python blenderenqueue.py --start 1 --end 250 testrender test.blend

This will copy test.blend to the fileserver configured in the config file and add 250 tasks to the queue (one per frame). rabbitmq will now dispatch the tasks to all started blenderworkers.

About

Blender render queue using rabbitmq

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages