[Django] #35859: Add DEP14 Tasks interface

19 views
Skip to first unread message

Django

unread,
Oct 22, 2024, 4:38:08 AM10/22/24
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-----------------------------------------+-----------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Uncategorized | Version: 5.0
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 1
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-----------------------------------------+-----------------------------
As part of [https://github.com/django/deps/blob/main/accepted/0014
-background-workers.rst DEP 14], this ticket adds a generic Task
interface, allowing enqueueing background tasks. Specifically:

- Common API interface
- Base backend
- Task / result classes
- Immediate / Dummy backends

These features already exist in [https://github.com/realOrangeOne/django-
tasks django-tasks], but need to make their way into Django core.

The database backend is intentionally absent, but will be added in a
future ticket. This makes the PR significantly smaller, and easier to
review.
--
Ticket URL: <https://code.djangoproject.com/ticket/35859>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Oct 22, 2024, 4:39:51 AM10/22/24
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-------------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Uncategorized | Version: 5.0
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+---------------------------------------
Changes (by Jake Howard):

* stage: Unreviewed => Accepted

Comment:

[https://github.com/django/django/pull/18627 PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:1>

Django

unread,
Oct 22, 2024, 4:45:35 AM10/22/24
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-------------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Uncategorized | Version: 5.0
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+---------------------------------------
Changes (by Carlton Gibson):

* cc: Carlton Gibson (added)

Comment:

Hey Jake, great.

You can’t accept your own ticket, but I’ll *pretend do that* now. ✅
--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:2>

Django

unread,
Oct 22, 2024, 4:46:23 AM10/22/24
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-------------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Uncategorized | Version: 5.0
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+---------------------------------------
Comment (by Carlton Gibson):

We might need a new Tasks component for Trac. 😅
--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:3>

Django

unread,
Oct 22, 2024, 4:49:27 AM10/22/24
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-------------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Uncategorized | Version: 5.0
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+---------------------------------------
Changes (by Harro):

* cc: Harro (added)

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:4>

Django

unread,
Oct 22, 2024, 5:16:17 AM10/22/24
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
------------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Core (Other) | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
------------------------------+---------------------------------------
Changes (by Claude Paroz):

* component: Uncategorized => Core (Other)
* version: 5.0 => dev

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:5>

Django

unread,
Oct 25, 2024, 4:29:09 AM10/25/24
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
------------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Core (Other) | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
------------------------------+---------------------------------------
Changes (by Evstifeev Roman):

* cc: Evstifeev Roman (added)

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:6>

Django

unread,
Nov 3, 2024, 7:41:12 AM11/3/24
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
------------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Core (Other) | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
------------------------------+---------------------------------------
Changes (by şuayip üzülmez):

* cc: şuayip üzülmez (added)

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:7>

Django

unread,
Jan 17, 2025, 4:01:06 AMJan 17
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
------------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Core (Other) | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
------------------------------+---------------------------------------
Changes (by Sarah Boyce):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:8>

Django

unread,
Aug 15, 2025, 8:25:42 AMAug 15
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
------------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Core (Other) | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
------------------------------+---------------------------------------
Changes (by Jake Howard):

* needs_better_patch: 1 => 0

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:9>

Django

unread,
Aug 20, 2025, 9:59:15 AMAug 20
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
------------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Core (Other) | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
------------------------------+---------------------------------------
Changes (by Sarah Boyce):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:10>

Django

unread,
Sep 5, 2025, 10:22:56 AMSep 5
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
------------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Core (Other) | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
------------------------------+---------------------------------------
Changes (by Jake Howard):

* needs_better_patch: 1 => 0

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:11>

Django

unread,
Sep 5, 2025, 10:54:33 AMSep 5
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-------------------------------------+-------------------------------------
Reporter: Jake Howard | Owner: Jake
| Howard
Type: New feature | Status: assigned
Component: Core (Other) | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* stage: Accepted => Ready for checkin

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:12>

Django

unread,
Sep 11, 2025, 1:29:19 PM (11 days ago) Sep 11
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-----------------------------+---------------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Tasks | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Ready for checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+---------------------------------------------
Changes (by Natalia Bidart):

* component: Core (Other) => Tasks

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:13>

Django

unread,
Sep 15, 2025, 5:37:41 PM (7 days ago) Sep 15
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-----------------------------+---------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Tasks | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+---------------------------------------
Changes (by Natalia Bidart):

* stage: Ready for checkin => Accepted

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:14>

Django

unread,
Sep 16, 2025, 2:09:17 PM (6 days ago) Sep 16
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-----------------------------+---------------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: assigned
Component: Tasks | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Ready for checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+---------------------------------------------
Changes (by Natalia Bidart):

* stage: Accepted => Ready for checkin

--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:15>

Django

unread,
Sep 16, 2025, 4:28:43 PM (6 days ago) Sep 16
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-----------------------------+---------------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: closed
Component: Tasks | Version: dev
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+---------------------------------------------
Changes (by nessita <124304+nessita@…>):

* resolution: => fixed
* status: assigned => closed

Comment:

In [changeset:"4289966d1b8e848e5e460b7c782dac009d746b20" 4289966]:
{{{#!CommitTicketReference repository=""
revision="4289966d1b8e848e5e460b7c782dac009d746b20"
Fixed #35859 -- Added background Tasks framework interface.

This work implements what was defined in DEP 14
(https://github.com/django/deps/blob/main/accepted/0014-background-
workers.rst).

Thanks to Raphael Gaschignard, Eric Holscher, Ran Benita, Sarah Boyce,
Jacob Walls, and Natalia Bidart for the reviews.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:16>

Django

unread,
Sep 17, 2025, 12:29:10 PM (5 days ago) Sep 17
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-----------------------------+---------------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: closed
Component: Tasks | Version: dev
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+---------------------------------------------
Comment (by nessita <124304+nessita@…>):

In [changeset:"9334499f537e402ce5b92708209933045a8c5e7d" 9334499f]:
{{{#!CommitTicketReference repository=""
revision="9334499f537e402ce5b92708209933045a8c5e7d"
Refs #35859 -- Included Task backends in system checks docs.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:17>

Django

unread,
Sep 17, 2025, 12:29:10 PM (5 days ago) Sep 17
to django-...@googlegroups.com
#35859: Add DEP14 Tasks interface
-----------------------------+---------------------------------------------
Reporter: Jake Howard | Owner: Jake Howard
Type: New feature | Status: closed
Component: Tasks | Version: dev
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+---------------------------------------------
Comment (by nessita <124304+nessita@…>):

In [changeset:"b931156c207f661406635d49e0e29a51cacc1ab8" b931156]:
{{{#!CommitTicketReference repository=""
revision="b931156c207f661406635d49e0e29a51cacc1ab8"
Refs #35859 -- Removed support for Task enqueuing on transaction commit.

This removes the ability to configure Task enqueueing via a setting,
since the proposed `ENQUEUE_ON_COMMIT` did not support multi-database
setups.

Thanks to Simon Charette for the report.

Follow-up to 4289966d1b8e848e5e460b7c782dac009d746b20.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/35859#comment:18>
Reply all
Reply to author
Forward
0 new messages