Skip to content

Commit 1acc5cd

Browse files
committed
Pass TaskCallable args to constructor instead of setting after
1 parent d53050c commit 1acc5cd

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

tasktiger/tasktiger.py

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
from dataclasses import dataclass
21
import datetime
32
import functools
43
import importlib
54
import logging
65
from collections import defaultdict
6+
from dataclasses import dataclass
77
from typing import (
88
Any,
99
Callable,
@@ -98,7 +98,6 @@
9898
R = TypeVar("R")
9999

100100

101-
102101
@dataclass
103102
class 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

Comments
 (0)