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.
* stage: Unreviewed => Accepted
--
Ticket URL: <https://code.djangoproject.com/ticket/30213#comment:1>
Comment (by Tom Forbes):
Potential patch: https://github.com/django/django/pull/11480
--
Ticket URL: <https://code.djangoproject.com/ticket/30213#comment:2>
* cc: Petr Přikryl (added)
--
Ticket URL: <https://code.djangoproject.com/ticket/30213#comment:3>
* 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>
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>