Keep TTS and STT workers resident between requests
This commit is contained in:
@@ -94,7 +94,8 @@ class Server(ThreadingHTTPServer):
|
||||
self.scheduler=Scheduler(self.worker)
|
||||
self.profiles.chat_blockers=self.worker.blockers
|
||||
self.image_tests.acquire=self.scheduler.image_reservation
|
||||
self.tts_tests.acquire=self.scheduler.image_reservation
|
||||
self.tts_tests.acquire=self.scheduler.tts_reservation
|
||||
self.scheduler.evict_tts=self.tts_tests.unload_idle
|
||||
self.stt=STT(self.profiles,self.catalog,self.runtime)
|
||||
self.profiles.stt_blockers=self.stt.blockers
|
||||
self.endpoint=Endpoint(self.catalog.root.parent,self.profiles,self.worker,self.scheduler,self.image_tests,self.credentials,self.server_port)
|
||||
@@ -471,7 +472,10 @@ class Handler(BaseHTTPRequestHandler):
|
||||
if tts_job and tts_job.get("state")=="running" and tts_job.get("profile_id")==data.get("id"):raise ValueError("Dieses TTS-Profil wird gerade ausgeführt. Zuerst den Auftrag beenden.")
|
||||
job=self.server.image_tests.job
|
||||
if job and job.get('state')=='running' and job.get('profile_id')==data.get('id'):raise ValueError('Dieses Profil wird gerade ausgeführt. Zuerst den Auftrag beenden.')
|
||||
return self.respond(self.server.profiles.delete(data))
|
||||
result=self.server.profiles.delete(data)
|
||||
if stt_job and stt_job.get('profile_id')==data.get('id'):self.server.stt.stop()
|
||||
if tts_job and tts_job.get('profile_id')==data.get('id'):self.server.tts_tests.stop()
|
||||
return self.respond(result)
|
||||
except ValueError as exc:return self.respond({'error':str(exc)},400)
|
||||
except OSError:return self.respond({'error':'Profil konnte nicht gelöscht werden.'},503)
|
||||
if self.path == '/api/v1/profiles/save':
|
||||
|
||||
Reference in New Issue
Block a user