#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
--------------------------------------+------------------------------------
Description changed by Aymeric Augustin:

Old description:

> I believe we should stop maintaining an autoreloader as soon as possible.
> Django’s autoreloader is annoyingly slow, highly inefficient, moderately
> well designed, and a gigantic pain to maintain. I’m more scared of
> `django.utils.autoreload` than of `django.db.models.related` before it
> was cleaned up.
>
> I wish one day someone will take the time to write a good autoreloading
> dev server based on watchman. This would solve the problem discussed here
> because watchman watches all files in the current directory. The correct
> way to do this is to throw away the current design and start from
> scratch.
>
> Watchman is smart enough to wait until you’ve finished a git operation to
> trigger a reload. Once such polished tech has become available, trying to
> compete with a thread that checks the mtime of all known files every
> second isn’t funny anymore. In fact it’s just sad.
>
> from [https://groups.google.com/d/msg/django-
> developers/HB0S4cF0DO4/YepyGyJZFAAJ django-developers thread]
>
> The [https://groups.google.com/d/topic/django-
> developers/voXNIDdDcpU/discussion Future of the development server's
> auto-reloading thread] has some ideas about this.

New description:

 I believe we should stop maintaining an autoreloader as soon as possible.
 Django’s autoreloader is annoyingly slow, highly inefficient, moderately
 well designed, and a gigantic pain to maintain. I’m more scared of
 `django.utils.autoreload` than of `django.db.models.related` before it was
 cleaned up.

 I wish one day someone will take the time to write a good autoreloading
 dev server based on watchman. This would solve the problem discussed here
 because watchman watches all files in the current directory. The correct
 way to do this is to throw away the current design and start from scratch.

 Watchman is smart enough to wait until you’ve finished a git operation to
 trigger a reload. Once such polished tech has become available, trying to
 compete with a thread that checks the mtime of all known files every
 second isn’t funny anymore. In fact it’s just sad.

 from [https://groups.google.com/d/msg/django-
 developers/HB0S4cF0DO4/YepyGyJZFAAJ django-developers thread]

 The [https://groups.google.com/d/topic/django-
 developers/voXNIDdDcpU/discussion Future of the development server's auto-
 reloading thread] has some ideas about this.

 EDIT -- That description was initially enclosed in a <rant> tag on the
 mailing list. While I stand by the facts, the tone is more ironic that
 what I'd write in a bug report. Different context.

--

--
Ticket URL: <https://code.djangoproject.com/ticket/27685#comment:1>
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.47a0b70008385b65c06ee39f501ee628%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to