#27685: Allow autoreloader to use watchman
--------------------------------------+------------------------------------
     Reporter:  Aymeric Augustin      |                    Owner:  nobody
         Type:  Cleanup/optimization  |                   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):

 For reference, flask has quite a nice reloading implementation that uses
 Watchdog:
 https://github.com/pallets/werkzeug/blob/master/werkzeug/_reloader.py

 Django obviously cannot bundle watchman as a Watchdog, so it will have to
 use a 'dumb' stat based implementation as it's base. While this is the
 lowest common denominator it is OK for tiny projects, we could detect when
 the number of watched files exceeds X and display a helpful message, like
 'install the `watchdog` package for fun and profit'. This seems to be the
 easiest way forward to improve the reloader in general, the current
 implementation is in great need of some improvements.

 I really like Watchman though (https://facebook.github.io/watchman/), a
 frontend frameworks that I use utilizes it. It has a socket API and runs
 as a service, so if it's available (there is an official API package) we
 could add this as a supported reloader.

 The reloading code in general is a bit of a black box, but it shouldn't
 be. If a re-implementation is on the cards then maybe it could be
 pluggable by third party apps that want to do something when files change
 during development. One interesting use case could be triggering a page
 reload when template files change.

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

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.9196fd7d91e40635f5fa3d24539c047f%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to