mirror of
https://github.com/blw1138/Zordon.git
synced 2025-12-17 08:48:13 +00:00
Simplify database.db logic
This commit is contained in:
@@ -535,7 +535,7 @@ def start_server(background_thread=False):
|
|||||||
EngineManager.update_all_engines()
|
EngineManager.update_all_engines()
|
||||||
|
|
||||||
# Set up the RenderQueue object
|
# Set up the RenderQueue object
|
||||||
RenderQueue.start_queue(database_directory=server.config['UPLOAD_FOLDER'])
|
RenderQueue.load_state(database_directory=server.config['UPLOAD_FOLDER'])
|
||||||
DistributedJobManager.start()
|
DistributedJobManager.start()
|
||||||
|
|
||||||
thread = threading.Thread(target=eval_loop, kwargs={'delay_sec': config.get('queue_eval_seconds', 1)}, daemon=True)
|
thread = threading.Thread(target=eval_loop, kwargs={'delay_sec': config.get('queue_eval_seconds', 1)}, daemon=True)
|
||||||
|
|||||||
@@ -28,14 +28,6 @@ class RenderQueue:
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def start_queue(cls, database_directory):
|
|
||||||
if not cls.engine:
|
|
||||||
cls.engine = create_engine(f"sqlite:///{os.path.join(database_directory, 'database.db')}")
|
|
||||||
Base.metadata.create_all(cls.engine)
|
|
||||||
cls.session = sessionmaker(bind=cls.engine)()
|
|
||||||
cls.load_state()
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def add_to_render_queue(cls, render_job, force_start=False):
|
def add_to_render_queue(cls, render_job, force_start=False):
|
||||||
logger.debug('Adding priority {} job to render queue: {}'.format(render_job.priority, render_job))
|
logger.debug('Adding priority {} job to render queue: {}'.format(render_job.priority, render_job))
|
||||||
@@ -82,7 +74,11 @@ class RenderQueue:
|
|||||||
cls.save_state()
|
cls.save_state()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def load_state(cls):
|
def load_state(cls, database_directory):
|
||||||
|
if not cls.engine:
|
||||||
|
cls.engine = create_engine(f"sqlite:///{os.path.join(database_directory, 'database.db')}")
|
||||||
|
Base.metadata.create_all(cls.engine)
|
||||||
|
cls.session = sessionmaker(bind=cls.engine)()
|
||||||
from src.engines.core.base_worker import BaseRenderWorker
|
from src.engines.core.base_worker import BaseRenderWorker
|
||||||
cls.job_queue = cls.session.query(BaseRenderWorker).all()
|
cls.job_queue = cls.session.query(BaseRenderWorker).all()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user