Downloadable engines (#34)

* Add blender_downloader.py

* Add engine_manager.py

* Add additional methods to engine_manager.py

* Refactor file layout to make engines on par with workers

* Add system platform info to status response

* Default to using system platform / cpu if none are provided

* Add API to download an engine and some general cleanup

* Add method to delete downloaded engine

* Add API calls to download engines and delete downloads

* Misc fixes
This commit is contained in:
2023-10-20 15:05:29 -05:00
committed by GitHub
parent 4563dcb255
commit 7d1ecf1fa5
21 changed files with 439 additions and 79 deletions

View File

@@ -5,7 +5,7 @@ from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from src.utilities.status_utils import RenderStatus
from src.worker_factory import RenderWorkerFactory
from src.workers.worker_factory import RenderWorkerFactory
from src.workers.base_worker import Base
logger = logging.getLogger()
@@ -100,7 +100,7 @@ class RenderQueue:
@classmethod
def is_available_for_job(cls, renderer, priority=2):
if not RenderWorkerFactory.class_for_name(renderer).engine.renderer_path():
if not RenderWorkerFactory.class_for_name(renderer).engine.default_renderer_path():
return False
instances = cls.renderer_instances()