Skip to content

Commit 08927df

Browse files
fix: use final states
1 parent 75545fe commit 08927df

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

packages/celery-library/src/celery_library/task_manager.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from common_library.async_tools import make_async
88
from models_library.progress_bar import ProgressReport
99
from servicelib.celery.models import (
10+
TASK_FINAL_STATES,
1011
Task,
1112
TaskFilter,
1213
TaskID,
@@ -110,6 +111,11 @@ async def _get_task_progress_report(
110111
if progress is not None:
111112
return progress
112113

114+
if task_state in TASK_FINAL_STATES:
115+
return ProgressReport(
116+
actual_value=_MAX_PROGRESS_VALUE, total=_MAX_PROGRESS_VALUE
117+
)
118+
113119
# task is pending
114120
return ProgressReport(
115121
actual_value=_MIN_PROGRESS_VALUE, total=_MAX_PROGRESS_VALUE

packages/service-library/src/servicelib/celery/models.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ class TaskState(StrEnum):
2626
ABORTED = "ABORTED"
2727

2828

29+
TASK_FINAL_STATES = {TaskState.SUCCESS, TaskState.FAILURE, TaskState.ABORTED}
30+
31+
2932
class TasksQueue(StrEnum):
3033
CPU_BOUND = "cpu_bound"
3134
DEFAULT = "default"
@@ -78,9 +81,6 @@ def _update_json_schema_extra(schema: JsonDict) -> None:
7881
model_config = ConfigDict(json_schema_extra=_update_json_schema_extra)
7982

8083

81-
_TASK_DONE = {TaskState.SUCCESS, TaskState.FAILURE, TaskState.ABORTED}
82-
83-
8484
class TaskInfoStore(Protocol):
8585
async def create_task(
8686
self,
@@ -138,4 +138,4 @@ def _update_json_schema_extra(schema: JsonDict) -> None:
138138

139139
@property
140140
def is_done(self) -> bool:
141-
return self.task_state in _TASK_DONE
141+
return self.task_state in TASK_FINAL_STATES

0 commit comments

Comments
 (0)