Skip to content

Commit 4669d19

Browse files
committed
Renames and updates from upstream
Update the JSON normalize implementation, rename variables
1 parent c4c2256 commit 4669d19

25 files changed

+360
-300
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,16 +210,16 @@ default_task_backend.get_result(result_id)
210210
If your task returns something, it can be retrieved from the `.return_value` attribute on a `TaskResult`. Accessing this property on an unsuccessful task (ie not `SUCCEEDED`) will raise a `ValueError`.
211211

212212
```python
213-
assert result.status == ResultStatus.SUCCEEDED
213+
assert result.status == TaskResultStatus.SUCCEEDED
214214
assert result.return_value == 42
215215
```
216216

217217
If a result has been updated in the background, you can call `refresh` on it to update its values. Results obtained using `get_result` will always be up-to-date.
218218

219219
```python
220-
assert result.status == ResultStatus.READY
220+
assert result.status == TaskResultStatus.READY
221221
result.refresh()
222-
assert result.status == ResultStatus.SUCCEEDED
222+
assert result.status == TaskResultStatus.SUCCEEDED
223223
```
224224

225225
#### Errors

django_tasks/__init__.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,30 @@
1010

1111
from .backends.base import BaseTaskBackend
1212
from .base import (
13-
DEFAULT_QUEUE_NAME,
1413
DEFAULT_TASK_BACKEND_ALIAS,
15-
ResultStatus,
14+
DEFAULT_TASK_QUEUE_NAME,
1615
TaskContext,
1716
TaskResult,
17+
TaskResultStatus,
1818
task,
1919
)
2020
from .exceptions import InvalidTaskBackendError
2121

2222
__version__ = importlib.metadata.version(__name__)
2323

2424
__all__ = [
25-
"tasks",
25+
"task_backends",
2626
"default_task_backend",
2727
"DEFAULT_TASK_BACKEND_ALIAS",
28-
"DEFAULT_QUEUE_NAME",
29-
"ResultStatus",
28+
"DEFAULT_TASK_QUEUE_NAME",
29+
"TaskResultStatus",
3030
"TaskResult",
3131
"TaskContext",
3232
"task",
3333
]
3434

3535

36-
class TasksHandler(BaseConnectionHandler[BaseTaskBackend]):
36+
class TaskBackendHandler(BaseConnectionHandler[BaseTaskBackend]):
3737
settings_name = "TASKS"
3838
exception_class = InvalidTaskBackendError
3939

@@ -64,8 +64,8 @@ def create_connection(self, alias: str) -> BaseTaskBackend:
6464
return backend_cls(alias=alias, params=params) # type:ignore[no-any-return]
6565

6666

67-
tasks = TasksHandler()
67+
task_backends = TaskBackendHandler()
6868

6969
default_task_backend: BaseTaskBackend = ConnectionProxy( # type:ignore[assignment]
70-
tasks, DEFAULT_TASK_BACKEND_ALIAS
70+
task_backends, DEFAULT_TASK_BACKEND_ALIAS
7171
)

django_tasks/backends/base.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
from typing_extensions import ParamSpec
1313

1414
from django_tasks.base import (
15-
DEFAULT_PRIORITY,
16-
MAX_PRIORITY,
17-
MIN_PRIORITY,
15+
TASK_DEFAULT_PRIORITY,
16+
TASK_MAX_PRIORITY,
17+
TASK_MIN_PRIORITY,
1818
Task,
1919
TaskResult,
2020
)
@@ -44,10 +44,10 @@ class BaseTaskBackend(metaclass=ABCMeta):
4444
"""Does the backend support tasks being executed in a given priority order?"""
4545

4646
def __init__(self, alias: str, params: dict) -> None:
47-
from django_tasks import DEFAULT_QUEUE_NAME
47+
from django_tasks import DEFAULT_TASK_QUEUE_NAME
4848

4949
self.alias = alias
50-
self.queues = set(params.get("QUEUES", [DEFAULT_QUEUE_NAME]))
50+
self.queues = set(params.get("QUEUES", [DEFAULT_TASK_QUEUE_NAME]))
5151
self.enqueue_on_commit = bool(params.get("ENQUEUE_ON_COMMIT", True))
5252
self.options = params.get("OPTIONS", {})
5353

@@ -82,18 +82,18 @@ def validate_task(self, task: Task) -> None:
8282
"Task takes context but does not have a first argument of 'context'."
8383
)
8484

85-
if not self.supports_priority and task.priority != DEFAULT_PRIORITY:
85+
if not self.supports_priority and task.priority != TASK_DEFAULT_PRIORITY:
8686
raise InvalidTaskError(
8787
"Backend does not support setting priority of tasks."
8888
)
8989

9090
if (
91-
task.priority < MIN_PRIORITY
92-
or task.priority > MAX_PRIORITY
91+
task.priority < TASK_MIN_PRIORITY
92+
or task.priority > TASK_MAX_PRIORITY
9393
or int(task.priority) != task.priority
9494
):
9595
raise InvalidTaskError(
96-
f"priority must be a whole number between {MIN_PRIORITY} and {MAX_PRIORITY}."
96+
f"priority must be a whole number between {TASK_MIN_PRIORITY} and {TASK_MAX_PRIORITY}."
9797
)
9898

9999
if not self.supports_defer and task.run_after is not None:

django_tasks/backends/database/backend.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
from django_tasks.backends.base import BaseTaskBackend
1313
from django_tasks.base import Task
1414
from django_tasks.base import TaskResult as BaseTaskResult
15-
from django_tasks.exceptions import ResultDoesNotExist
15+
from django_tasks.exceptions import TaskResultDoesNotExist
1616
from django_tasks.signals import task_enqueued
17+
from django_tasks.utils import normalize_json
1718

1819
if TYPE_CHECKING:
1920
from .models import DBTaskResult
@@ -42,7 +43,7 @@ def _task_to_db_task(
4243
from .models import DBTaskResult
4344

4445
return DBTaskResult(
45-
args_kwargs={"args": args, "kwargs": kwargs},
46+
args_kwargs=normalize_json({"args": args, "kwargs": kwargs}),
4647
priority=task.priority,
4748
task_path=task.module_path,
4849
queue_name=task.queue_name,
@@ -77,15 +78,15 @@ def get_result(self, result_id: str) -> TaskResult:
7778
try:
7879
return DBTaskResult.objects.get(id=result_id).task_result
7980
except (DBTaskResult.DoesNotExist, ValidationError) as e:
80-
raise ResultDoesNotExist(result_id) from e
81+
raise TaskResultDoesNotExist(result_id) from e
8182

8283
async def aget_result(self, result_id: str) -> TaskResult:
8384
from .models import DBTaskResult
8485

8586
try:
8687
return (await DBTaskResult.objects.aget(id=result_id)).task_result
8788
except (DBTaskResult.DoesNotExist, ValidationError) as e:
88-
raise ResultDoesNotExist(result_id) from e
89+
raise TaskResultDoesNotExist(result_id) from e
8990

9091
def check(self, **kwargs: Any) -> Iterable[checks.CheckMessage]:
9192
yield from super().check(**kwargs)

django_tasks/backends/database/management/commands/db_worker.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
from django.db.utils import OperationalError
1616
from django.utils.autoreload import DJANGO_AUTORELOAD_ENV, run_with_reloader
1717

18-
from django_tasks import DEFAULT_TASK_BACKEND_ALIAS, tasks
18+
from django_tasks import DEFAULT_TASK_BACKEND_ALIAS, task_backends
1919
from django_tasks.backends.database.backend import DatabaseBackend
2020
from django_tasks.backends.database.models import DBTaskResult
2121
from django_tasks.backends.database.utils import exclusive_transaction
22-
from django_tasks.base import DEFAULT_QUEUE_NAME, TaskContext
22+
from django_tasks.base import DEFAULT_TASK_QUEUE_NAME, TaskContext
2323
from django_tasks.exceptions import InvalidTaskBackendError
2424
from django_tasks.signals import task_finished, task_started
2525
from django_tasks.utils import get_random_id
@@ -193,7 +193,7 @@ def run_task(self, db_task_result: DBTaskResult) -> None:
193193

194194
def valid_backend_name(val: str) -> str:
195195
try:
196-
backend = tasks[val]
196+
backend = task_backends[val]
197197
except InvalidTaskBackendError as e:
198198
raise ArgumentTypeError(e.args[0]) from e
199199
if not isinstance(backend, DatabaseBackend):
@@ -232,7 +232,7 @@ def add_arguments(self, parser: ArgumentParser) -> None:
232232
parser.add_argument(
233233
"--queue-name",
234234
nargs="?",
235-
default=DEFAULT_QUEUE_NAME,
235+
default=DEFAULT_TASK_QUEUE_NAME,
236236
type=str,
237237
help="The queues to process. Separate multiple with a comma. To process all queues, use '*' (default: %(default)r)",
238238
)

django_tasks/backends/database/management/commands/prune_db_task_results.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,22 @@
66
from django.db.models import Q
77
from django.utils import timezone
88

9-
from django_tasks import DEFAULT_QUEUE_NAME, DEFAULT_TASK_BACKEND_ALIAS, tasks
9+
from django_tasks import (
10+
DEFAULT_TASK_BACKEND_ALIAS,
11+
DEFAULT_TASK_QUEUE_NAME,
12+
task_backends,
13+
)
1014
from django_tasks.backends.database.backend import DatabaseBackend
1115
from django_tasks.backends.database.models import DBTaskResult
12-
from django_tasks.base import ResultStatus
16+
from django_tasks.base import TaskResultStatus
1317
from django_tasks.exceptions import InvalidTaskBackendError
1418

1519
logger = logging.getLogger("django_tasks.backends.database.prune_db_task_results")
1620

1721

1822
def valid_backend_name(val: str) -> DatabaseBackend:
1923
try:
20-
backend = tasks[val]
24+
backend = task_backends[val]
2125
except InvalidTaskBackendError as e:
2226
raise ArgumentTypeError(e.args[0]) from e
2327
if not isinstance(backend, DatabaseBackend):
@@ -47,7 +51,7 @@ def add_arguments(self, parser: ArgumentParser) -> None:
4751
parser.add_argument(
4852
"--queue-name",
4953
nargs="?",
50-
default=DEFAULT_QUEUE_NAME,
54+
default=DEFAULT_TASK_QUEUE_NAME,
5155
type=str,
5256
help="The queues to process. Separate multiple with a comma. To process all queues, use '*' (default: %(default)r)",
5357
)
@@ -114,8 +118,8 @@ def handle(
114118
results = results.filter(finished_at__lte=min_age)
115119
else:
116120
results = results.filter(
117-
Q(status=ResultStatus.SUCCEEDED, finished_at__lte=min_age)
118-
| Q(status=ResultStatus.FAILED, finished_at__lte=failed_min_age)
121+
Q(status=TaskResultStatus.SUCCEEDED, finished_at__lte=min_age)
122+
| Q(status=TaskResultStatus.FAILED, finished_at__lte=failed_min_age)
119123
)
120124

121125
if dry_run:

django_tasks/backends/database/migrations/0008_separate_results_field.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
55
from django.db.migrations.state import StateApps
66

7-
from django_tasks import ResultStatus
7+
from django_tasks import TaskResultStatus
88

99

1010
def separate_results_field(
@@ -14,12 +14,12 @@ def separate_results_field(
1414

1515
# If a task succeeded, the result is its return value
1616
DBTaskResult.objects.using(schema_editor.connection.alias).filter(
17-
status=ResultStatus.SUCCEEDED
17+
status=TaskResultStatus.SUCCEEDED
1818
).update(return_value=models.F("result"))
1919

2020
# If a task failed, the result is the exception data (or nothing)
2121
DBTaskResult.objects.using(schema_editor.connection.alias).filter(
22-
status=ResultStatus.FAILED
22+
status=TaskResultStatus.FAILED
2323
).update(exception_data=models.F("result"))
2424

2525

@@ -30,12 +30,12 @@ def merge_results_field(
3030

3131
# If a task succeeded, the result is its return value
3232
DBTaskResult.objects.using(schema_editor.connection.alias).filter(
33-
status=ResultStatus.SUCCEEDED
33+
status=TaskResultStatus.SUCCEEDED
3434
).update(result=models.F("return_value"))
3535

3636
# If a task failed, the result is the exception data (or nothing)
3737
DBTaskResult.objects.using(schema_editor.connection.alias).filter(
38-
status=ResultStatus.FAILED
38+
status=TaskResultStatus.FAILED
3939
).update(result=models.F("exception_data"))
4040

4141

django_tasks/backends/database/migrations/0011_rename_complete_status.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
55
from django.db.migrations.state import StateApps
66

7-
from django_tasks import ResultStatus
7+
from django_tasks import TaskResultStatus
88

99

1010
def separate_results_field(
@@ -14,7 +14,7 @@ def separate_results_field(
1414

1515
DBTaskResult.objects.using(schema_editor.connection.alias).filter(
1616
status="COMPLETE"
17-
).update(status=ResultStatus.SUCCEEDED)
17+
).update(status=TaskResultStatus.SUCCEEDED)
1818

1919

2020
def merge_results_field(
@@ -23,7 +23,7 @@ def merge_results_field(
2323
DBTaskResult = apps.get_model("django_tasks_database", "DBTaskResult")
2424

2525
DBTaskResult.objects.using(schema_editor.connection.alias).filter(
26-
status=ResultStatus.SUCCEEDED
26+
status=TaskResultStatus.SUCCEEDED
2727
).update(status="COMPLETE")
2828

2929

0 commit comments

Comments
 (0)