#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.