diff --git a/initialize.py b/initialize.py index 20ce69bbc..1b01baa30 100644 --- a/initialize.py +++ b/initialize.py @@ -145,6 +145,10 @@ def initialize_job_loop(): from python.helpers.job_loop import run_loop return defer.DeferredTask("JobLoop").start_task(run_loop) +def initialize_preload(): + import preload + return defer.DeferredTask().start_task(preload.preload) + def _args_override(config): # update config with runtime args diff --git a/preload.py b/preload.py index 22c48f234..99625d51b 100644 --- a/preload.py +++ b/preload.py @@ -4,9 +4,6 @@ from python.helpers.print_style import PrintStyle from python.helpers import kokoro_tts import models -PrintStyle().print("Running preload...") -runtime.initialize() - async def preload(): try: @@ -34,10 +31,11 @@ async def preload(): # preload kokoro tts model if enabled async def preload_kokoro(): - try: - return await kokoro_tts.preload() - except Exception as e: - PrintStyle().error(f"Error in preload_kokoro: {e}") + if set["tts_kokoro"]: + try: + return await kokoro_tts.preload() + except Exception as e: + PrintStyle().error(f"Error in preload_kokoro: {e}") # async tasks to preload tasks = [ @@ -53,4 +51,7 @@ async def preload(): # preload transcription model -asyncio.run(preload()) +if __name__ == "__main__": + PrintStyle().print("Running preload...") + runtime.initialize() + asyncio.run(preload()) diff --git a/run_ui.py b/run_ui.py index e46746f3b..e6c3de72a 100644 --- a/run_ui.py +++ b/run_ui.py @@ -249,6 +249,8 @@ def init_a0(): initialize.initialize_mcp() # start job loop initialize.initialize_job_loop() + # preload + initialize.initialize_preload() # only wait for init chats, otherwise they would seem to dissapear for a while on restart init_chats.result_sync()