1010
1111from .models import TaskID , TaskIDParts , TaskStatus
1212
13- _PREFIX : Final = "ct"
14-
1513_logger = logging .getLogger (__name__ )
1614
17-
18- def _get_task_id_components (task_id_parts : TaskIDParts ) -> list [str ]:
19- return sorted (map (str , task_id_parts .values ()))
20-
21-
22- def _get_components_prefix (name : str , task_id_parts : TaskIDParts ) -> list [str ]:
23- return [_PREFIX , name , * _get_task_id_components (task_id_parts )]
15+ _CELERY_TASK_META_PREFIX = "celery-task-meta-"
16+ _PREFIX : Final [str ] = "ct"
2417
2518
26- def _get_task_id_prefix (name : str , task_id_parts : TaskIDParts ) -> TaskID :
27- return "::" . join ( _get_components_prefix ( name , task_id_parts ))
19+ def _build_parts_prefix (name : str , task_id_parts : TaskIDParts ) -> list [ str ] :
20+ return [ _PREFIX , name , * [ f" { task_id_parts [ key ] } " for key in sorted ( task_id_parts )]]
2821
2922
30- def _get_task_id (name : str , task_id_parts : TaskIDParts ) -> TaskID :
31- return "::" .join ([ * _get_components_prefix (name , task_id_parts ), f" { uuid4 () } " ] )
23+ def build_task_id_prefix (name : str , task_id_parts : TaskIDParts ) -> TaskID :
24+ return "::" .join (_build_parts_prefix (name , task_id_parts ))
3225
3326
34- _CELERY_TASK_META_PREFIX = "celery-task-meta-"
27+ def build_task_id (name : str , task_id_parts : TaskIDParts ) -> TaskID :
28+ return "::" .join ([* _build_parts_prefix (name , task_id_parts ), f"{ uuid4 ()} " ])
3529
3630
3731class CeleryTaskQueueClient :
@@ -42,7 +36,7 @@ def __init__(self, celery_app: Celery):
4236 def send_task (
4337 self , task_name : str , * , task_id_parts : TaskIDParts , ** task_params
4438 ) -> TaskID :
45- task_id = _get_task_id (task_name , task_id_parts )
39+ task_id = build_task_id (task_name , task_id_parts )
4640 _logger .debug ("Submitting task %s: %s" , task_name , task_id )
4741 task = self ._celery_app .send_task (
4842 task_name , task_id = task_id , kwargs = task_params
@@ -84,7 +78,7 @@ def _get_completed_task_ids(
8478 ) -> list [TaskID ]:
8579 search_key = (
8680 _CELERY_TASK_META_PREFIX
87- + _get_task_id_prefix (task_name , task_id_parts )
81+ + build_task_id_prefix (task_name , task_id_parts )
8882 + "*"
8983 )
9084 redis = self ._celery_app .backend .client
0 commit comments