blendersynth.run.blender_threading

class blendersynth.run.blender_threading.BlenderThread(command, jobs, log_loc, progress_loc, name='', timeout=100, to_stdout=False, MAX_PER_JOB=100, script_directory=None)[source]

Manages a list of jobs, which it feeds into sequential Blender instances in a single thread.

check_in()[source]

Checks if current job still running, if not move to next job. If all jobs complete, set self.finished = True

check_status()[source]

True if still running successfully, False if exceeded timeout

property num_rendered

Read through Log file to find how many renders have been completed

start_job(job=0)[source]
Parameters:

job (int) – Index of job to start

terminate()[source]

End process

class blendersynth.run.blender_threading.BlenderThreadManager(command, jsons, output_directory, print_to_stdout=False, MAX_PER_JOB=100, script_directory=None)[source]

Manager of multiple BlenderThread instances

start(progress_bars=True, tick=0.5, report_every=15.0, offset=1.0)[source]

Start all threads and job progress :type progress_bars: bool :param progress_bars: Show progress bars for each thread and overall progress :type tick: float :param tick: How often to update progress bars :type report_every: float :param report_every: How often to print status updates to log :type offset: float :param offset: How long to wait before starting each thread (to avoid memory issues)

terminate()[source]

End all threads