1
0
Fork 0

fix(api): split up worker name and job name to avoid logging false failures

This commit is contained in:
Sean Sube 2023-07-15 19:00:20 -05:00
parent 7f099c02e5
commit dfe9f6ee44
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
2 changed files with 40 additions and 30 deletions

View File

@ -53,7 +53,7 @@ class CorrectGFPGANStage(BaseStage):
def run(
self,
job: WorkerContext,
worker: WorkerContext,
server: ServerContext,
stage: StageParams,
_params: ImageParams,
@ -70,7 +70,7 @@ class CorrectGFPGANStage(BaseStage):
return sources
logger.info("correcting faces with GFPGAN model: %s", upscale.correction_model)
device = job.get_device()
device = worker.get_device()
gfpgan = self.load(server, stage, upscale, device)
outputs = []

View File

@ -15,7 +15,8 @@ ProgressCallback = Callable[[int, int, Any], None]
class WorkerContext:
cancel: "Value[bool]"
job: str
job: Optional[str]
name: str
pending: "Queue[JobCommand]"
active_pid: "Value[int]"
progress: "Queue[ProgressCommand]"
@ -26,7 +27,7 @@ class WorkerContext:
def __init__(
self,
job: str,
name: str,
device: DeviceParams,
cancel: "Value[bool]",
logs: "Queue[str]",
@ -35,7 +36,7 @@ class WorkerContext:
active_pid: "Value[int]",
idle: "Value[bool]",
):
self.job = job
self.name = name
self.device = device
self.cancel = cancel
self.progress = progress
@ -96,9 +97,12 @@ class WorkerContext:
self.idle.value = idle
def set_progress(self, progress: int) -> None:
if self.job is None:
raise RuntimeError("no job on which to set progress")
if self.is_cancelled():
raise RuntimeError("job has been cancelled")
else:
logger.debug("setting progress for job %s to %s", self.job, progress)
self.last_progress = ProgressCommand(
self.job,
@ -115,6 +119,9 @@ class WorkerContext:
)
def finish(self) -> None:
if self.job is None:
logger.warning("setting finished without an active job")
else:
logger.debug("setting finished for job %s", self.job)
self.last_progress = ProgressCommand(
self.job,
@ -130,6 +137,9 @@ class WorkerContext:
)
def fail(self) -> None:
if self.job is None:
logger.warning("setting failure without an active job")
else:
logger.warning("setting failure for job %s", self.job)
try:
self.last_progress = ProgressCommand(