moved the creation of the thread to the subject

instead of the request handler
This commit is contained in:
Karma Riuk
2025-05-18 17:59:02 +02:00
parent 49b2606a53
commit 65f9cd8d61
2 changed files with 13 additions and 5 deletions

View File

@ -99,8 +99,7 @@ def submit_refinement():
socket2observer[sid] = obs
subject.registerObserver(obs)
t = Thread(target=subject.launch_task, args=(validated,), daemon=True)
t.start()
subject.launch_task(validated)
url = url_for(f".status", id=process_id, _external=True)
return jsonify(
{

View File

@ -1,6 +1,7 @@
from abc import ABC, abstractmethod
from enum import Enum
from typing import Callable, Optional, Set, Any
from threading import Thread
from typing import Callable, Iterable, Mapping, Optional, Set, Any
class Status(Enum):
@ -61,9 +62,17 @@ class Subject:
def launch_task(self, *args, **kwargs):
self.status = Status.PROCESSING
self.task(
*args, **kwargs, percent_cb=self.notifyPercentage, complete_cb=self.notifyComplete
t = Thread(
target=self.task,
args=args,
kwargs={
**kwargs,
"percent_cb": self.notifyPercentage,
"complete_cb": self.notifyComplete,
},
daemon=True,
)
t.start()
request2status: dict[str, Subject] = {}