mirror of
https://github.com/django/django.git
synced 2025-03-31 11:37:06 +00:00
Remove option to use run_after
with timedelta
Managing when it applies and which timezone can be quite complex.
This commit is contained in:
parent
70ee78741e
commit
b98708fd33
@ -1,12 +1,11 @@
|
||||
from dataclasses import dataclass, field, replace
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime
|
||||
from inspect import iscoroutinefunction
|
||||
from typing import Any, Callable, Dict, Optional, Type
|
||||
|
||||
from asgiref.sync import async_to_sync, sync_to_async
|
||||
|
||||
from django.db.models.enums import TextChoices
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from .exceptions import ResultDoesNotExist
|
||||
@ -88,10 +87,7 @@ class Task:
|
||||
if queue_name is not None:
|
||||
changes["queue_name"] = queue_name
|
||||
if run_after is not None:
|
||||
if isinstance(run_after, timedelta):
|
||||
changes["run_after"] = timezone.now() + run_after
|
||||
else:
|
||||
changes["run_after"] = run_after
|
||||
changes["run_after"] = run_after
|
||||
if backend is not None:
|
||||
changes["backend"] = backend
|
||||
|
||||
|
@ -85,10 +85,6 @@ Attributes of ``Task`` cannot be modified.
|
||||
* :attr:`queue_name <Task.queue_name>`
|
||||
* :attr:`run_after <Task.run_after>`
|
||||
|
||||
``run_after`` may also be provided as a :class:`timedelta <datetime.timedelta>`,
|
||||
which is used relative to the current time (when ``using`` is called), or a
|
||||
timezone-aware :class:`datetime <datetime.datetime>`.
|
||||
|
||||
.. method:: Task.enqueue(*args, **kwargs)
|
||||
|
||||
Enqueue the task for later execution.
|
||||
|
@ -1,5 +1,5 @@
|
||||
import dataclasses
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime
|
||||
|
||||
from django.tasks import (
|
||||
DEFAULT_QUEUE_NAME,
|
||||
@ -97,10 +97,6 @@ class TaskTestCase(SimpleTestCase):
|
||||
|
||||
self.assertIsNone(test_tasks.noop_task.run_after)
|
||||
self.assertEqual(test_tasks.noop_task.using(run_after=now).run_after, now)
|
||||
self.assertIsInstance(
|
||||
test_tasks.noop_task.using(run_after=timedelta(hours=1)).run_after,
|
||||
datetime,
|
||||
)
|
||||
self.assertIsNone(test_tasks.noop_task.run_after)
|
||||
|
||||
def test_using_unknown_backend(self):
|
||||
|
Loading…
x
Reference in New Issue
Block a user