mirror of
https://github.com/blw1138/Zordon.git
synced 2025-12-17 16:58:12 +00:00
Assign frame ranges to servers based on their CPU count (#19)
* Expose renderer availability in status api * Remove redundant is_available_for_job API call * New server split logic by cpu and moved to server_helper.py * Remove old dead code * Add RenderStatus.WAITING to proxy categories
This commit is contained in:
@@ -5,6 +5,7 @@ from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
|
||||
from .workers.base_worker import RenderStatus, BaseRenderWorker, Base
|
||||
from .workers.worker_factory import RenderWorkerFactory
|
||||
|
||||
logger = logging.getLogger()
|
||||
|
||||
@@ -81,7 +82,10 @@ class RenderQueue:
|
||||
cls.session.commit()
|
||||
|
||||
@classmethod
|
||||
def is_available_for_job(cls, renderer, priority):
|
||||
def is_available_for_job(cls, renderer, priority=2):
|
||||
if not RenderWorkerFactory.class_for_name(renderer).engine.renderer_path():
|
||||
return False
|
||||
|
||||
instances = cls.renderer_instances()
|
||||
higher_priority_jobs = [x for x in cls.running_jobs() if x.priority < priority]
|
||||
max_renderers = renderer in instances.keys() and instances[renderer] >= cls.maximum_renderer_instances.get(renderer, 1)
|
||||
|
||||
Reference in New Issue
Block a user