[Django] #30213: Add support for a "watchdog" based autoreloader

27 views
Skip to first unread message

Django

unread,
Feb 25, 2019, 5:26:25 PM2/25/19
to django-...@googlegroups.com
#30213: Add support for a "watchdog" based autoreloader
---------------------------------------+------------------------
Reporter: Tom Forbes | Owner: nobody
Type: New feature | Status: new
Component: Utilities | Version: master
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
---------------------------------------+------------------------
It was suggested on the mailing list
(https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg
/django-developers/Y3caNikdM6M/BYpsr0qLBAAJ) that an alternative reloader
might be useful on Linux based systems.

I propose adding support for Watchdog
(https://github.com/gorakhargosh/watchdog) which will give us improved
reloading performance on Linux and potentially Windows as well.

--
Ticket URL: <https://code.djangoproject.com/ticket/30213>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Feb 26, 2019, 2:30:06 AM2/26/19
to django-...@googlegroups.com
#30213: Add support for a "watchdog" based autoreloader
-----------------------------+------------------------------------

Reporter: Tom Forbes | Owner: nobody
Type: New feature | Status: new
Component: Utilities | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------
Changes (by Claude Paroz):

* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/30213#comment:1>

Django

unread,
Jun 16, 2019, 4:36:29 PM6/16/19
to django-...@googlegroups.com
#30213: Add support for a "watchdog" based autoreloader
-----------------------------+------------------------------------

Reporter: Tom Forbes | Owner: nobody
Type: New feature | Status: new
Component: Utilities | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------

Comment (by Tom Forbes):

Potential patch: https://github.com/django/django/pull/11480

--
Ticket URL: <https://code.djangoproject.com/ticket/30213#comment:2>

Django

unread,
Apr 17, 2021, 3:25:04 AM4/17/21
to django-...@googlegroups.com
#30213: Add support for a "watchdog" based autoreloader
-----------------------------+------------------------------------

Reporter: Tom Forbes | Owner: nobody
Type: New feature | Status: new
Component: Utilities | Version: dev

Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------
Changes (by Petr Přikryl):

* cc: Petr Přikryl (added)


--
Ticket URL: <https://code.djangoproject.com/ticket/30213#comment:3>

Django

unread,
Jul 5, 2022, 4:36:34 AM7/5/22
to django-...@googlegroups.com
#30213: Add support for a "watchdog" based autoreloader
-----------------------------+------------------------------------

Reporter: Tom Forbes | Owner: nobody
Type: New feature | Status: new
Component: Utilities | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------
Changes (by Carlton Gibson):

* cc: Carlton Gibson, Adam Johnson (added)


Comment:

Adam recently put together a proof-of-concept for a ''Watchfiles'' based
reloader. See https://github.com/adamchainz/django-watchfiles

([https://github.com/samuelcolvin/watchfiles/blob/main/docs/migrating.md
All these reloaders... it's quite complex] 🤯).

Watchfiles is based on the Rust Notify crate, which had good cross-
platform support. Arguably it would be the way to go.

Given how many options there are in this field, I wonder if we'd not be
better served making `get_reloader()` properly pluggable, rather than
adding (an ever growing set of) specific reloaders? 🤔

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

Django

unread,
Aug 11, 2022, 5:02:31 AM8/11/22
to django-...@googlegroups.com
#30213: Add support for a "watchdog" based autoreloader
-----------------------------+------------------------------------

Reporter: Tom Forbes | Owner: nobody
Type: New feature | Status: new
Component: Utilities | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------

Comment (by Carlton Gibson <carlton@…>):

In [changeset:"e34dfad0a310c616c7b62e0f1dba10f10adf547a" e34dfad]:
{{{
#!CommitTicketReference repository=""
revision="e34dfad0a310c616c7b62e0f1dba10f10adf547a"
Refs #30213 -- Removed post-startup check for Watchman availability.

This is checked at startup in get_reloader(). The runtime check ties
the implementation to Watchman excessively.
}}}

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

Django

unread,
Mar 12, 2024, 2:03:13 AM3/12/24
to django-...@googlegroups.com
#30213: Add support for a "watchdog" based autoreloader
-----------------------------+------------------------------------
Reporter: Tom Forbes | Owner: nobody
Type: New feature | Status: new
Component: Utilities | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------
Changes (by Ülgen Sarıkavak):

* cc: Ülgen Sarıkavak (added)

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

Django

unread,
Oct 12, 2024, 4:12:39 AM10/12/24
to django-...@googlegroups.com
#30213: Add support for a "watchdog" based autoreloader
-----------------------------+------------------------------------
Reporter: Tom Forbes | Owner: nobody
Type: New feature | Status: new
Component: Utilities | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------
Comment (by Ahmed Ibrahim):

We have a ticket (I'm the assignee) for using watchman, afaik, this one is
no longer relevant
--
Ticket URL: <https://code.djangoproject.com/ticket/30213#comment:7>

Django

unread,
Oct 12, 2024, 4:12:47 AM10/12/24
to django-...@googlegroups.com
#30213: Add support for a "watchdog" based autoreloader
-----------------------------+------------------------------------
Reporter: Tom Forbes | Owner: nobody
Type: New feature | Status: new
Component: Utilities | Version: dev
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+------------------------------------
Changes (by Ahmed Ibrahim):

* cc: Ahmed Ibrahim (added)

--
Ticket URL: <https://code.djangoproject.com/ticket/30213#comment:8>
Reply all
Reply to author
Forward
0 new messages