render_queue refactoring

This commit is contained in:
Brett Williams
2023-05-22 19:10:14 -05:00
parent 9579542ea3
commit 49c138968d

View File

@@ -25,7 +25,7 @@ class JobNotFoundError(Exception):
class RenderQueue: class RenderQueue:
job_queue = [] job_queue = []
render_clients = [] render_clients = []
maximum_renderer_instances = {'Blender': 2, 'After Effects': 1, 'ffmpeg': 4} maximum_renderer_instances = {'blender': 2, 'aerender': 1, 'ffmpeg': 4}
host_name = None host_name = None
port = 8080 port = 8080
client_mode = False client_mode = False
@@ -153,7 +153,7 @@ class RenderQueue:
not_started = cls.jobs_with_status(RenderStatus.NOT_STARTED, priority_sorted=True) not_started = cls.jobs_with_status(RenderStatus.NOT_STARTED, priority_sorted=True)
if not_started: if not_started:
for job in not_started: for job in not_started:
renderer = job.worker.renderer renderer = job.worker.engine.name
higher_priority_jobs = [x for x in cls.running_jobs() if x.priority < job.priority] higher_priority_jobs = [x for x in cls.running_jobs() if x.priority < job.priority]
max_renderers = renderer in instances.keys() and instances[ max_renderers = renderer in instances.keys() and instances[
renderer] >= cls.maximum_renderer_instances.get(renderer, 1) renderer] >= cls.maximum_renderer_instances.get(renderer, 1)
@@ -191,7 +191,7 @@ class RenderQueue:
@classmethod @classmethod
def renderer_instances(cls): def renderer_instances(cls):
from collections import Counter from collections import Counter
all_instances = [x.worker.renderer for x in cls.running_jobs()] all_instances = [x.worker.engine.name for x in cls.running_jobs()]
return Counter(all_instances) return Counter(all_instances)
@classmethod @classmethod