1- from celery import Celery # type: ignore[import-untyped]
2- from servicelib .celery .app_server import BaseAppServer
1+ from typing import Final
32
4- from .task_manager import CeleryTaskManager
3+ from celery import Celery # type: ignore[import-untyped]
4+ from servicelib .queued_tasks .app_server import BaseAppServer
5+ from servicelib .queued_tasks .models import TaskContext , TaskID , TaskUUID
56
67_APP_SERVER_KEY = "app_server"
7- _TASK_MANAGER_KEY = "task_manager"
8+
9+ _TASK_ID_KEY_DELIMITATOR : Final [str ] = ":"
10+
11+
12+ def build_task_id_prefix (task_context : TaskContext ) -> str :
13+ return _TASK_ID_KEY_DELIMITATOR .join (
14+ [f"{ task_context [key ]} " for key in sorted (task_context )]
15+ )
16+
17+
18+ def build_task_id (task_context : TaskContext , task_uuid : TaskUUID ) -> TaskID :
19+ return _TASK_ID_KEY_DELIMITATOR .join (
20+ [build_task_id_prefix (task_context ), f"{ task_uuid } " ]
21+ )
822
923
1024def get_app_server (app : Celery ) -> BaseAppServer :
@@ -15,13 +29,3 @@ def get_app_server(app: Celery) -> BaseAppServer:
1529
1630def set_app_server (app : Celery , app_server : BaseAppServer ) -> None :
1731 app .conf [_APP_SERVER_KEY ] = app_server
18-
19-
20- def get_task_manager (celery_app : Celery ) -> CeleryTaskManager :
21- worker = celery_app .conf [_TASK_MANAGER_KEY ]
22- assert isinstance (worker , CeleryTaskManager )
23- return worker
24-
25-
26- def set_task_manager (celery_app : Celery , worker : CeleryTaskManager ) -> None :
27- celery_app .conf [_TASK_MANAGER_KEY ] = worker
0 commit comments