1- from dataclasses import dataclass
21import datetime
32import functools
43import importlib
54import logging
65from collections import defaultdict
6+ from dataclasses import dataclass
77from typing import (
88 Any ,
99 Callable ,
9898R = TypeVar ("R" )
9999
100100
101-
102101@dataclass
103102class TaskCallable (Generic [P , R ]):
104103 _func : Callable [P , R ]
@@ -112,16 +111,16 @@ class TaskCallable(Generic[P, R]):
112111 _task_lock_key : Collection [str ] | None = None
113112 _task_retry : int | None = None
114113 _task_retry_on : Collection [type [BaseException ]] | None = None
115- _task_retry_method : Callable [[ int ], float ] | Tuple [
116- Callable [..., float ], Tuple
117- ] | None = None
114+ _task_retry_method : (
115+ Callable [[ int ], float ] | Tuple [ Callable [ ..., float ], Tuple ] | None
116+ ) = None
118117 _task_batch : bool | None = None
119118 _task_schedule : Callable | None = None
120119 _task_max_queue_size : int | None = None
121120 _task_max_stored_executions : int | None = None
122121 _task_runner_class : type | None = None
123122
124- def __post_init__ (self ):
123+ def __post_init__ (self ) -> None :
125124 functools .update_wrapper (self , self ._func )
126125
127126 def __call__ (self , * args : P .args , ** kwargs : P .kwargs ) -> R :
@@ -376,21 +375,24 @@ def task(
376375 unique = True
377376
378377 def _wrap (func : Callable [P , R ]) -> TaskCallable [P , R ]:
379- tc = TaskCallable (func , self )
380- tc ._task_hard_timeout = hard_timeout
381- tc ._task_queue = queue
382- tc ._task_unique = unique
383- tc ._task_unique_key = unique_key
384- tc ._task_lock = lock
385- tc ._task_lock_key = lock_key
386- tc ._task_retry = retry
387- tc ._task_retry_on = retry_on
388- tc ._task_retry_method = retry_method
389- tc ._task_batch = batch
390- tc ._task_schedule = schedule
391- tc ._task_max_queue_size = max_queue_size
392- tc ._task_max_stored_executions = max_stored_executions
393- tc ._task_runner_class = runner_class
378+ tc = TaskCallable (
379+ _func = func ,
380+ _tiger = self ,
381+ _task_hard_timeout = hard_timeout ,
382+ _task_queue = queue ,
383+ _task_unique = unique ,
384+ _task_unique_key = unique_key ,
385+ _task_lock = lock ,
386+ _task_lock_key = lock_key ,
387+ _task_retry = retry ,
388+ _task_retry_on = retry_on ,
389+ _task_retry_method = retry_method ,
390+ _task_batch = batch ,
391+ _task_schedule = schedule ,
392+ _task_max_queue_size = max_queue_size ,
393+ _task_max_stored_executions = max_stored_executions ,
394+ _task_runner_class = runner_class ,
395+ )
394396
395397 if schedule is not None :
396398 serialized_func = serialize_func_name (func )
0 commit comments