From 29601bca9b584b254ded0a8f59cf776194f1bd28 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Mon, 29 Apr 2019 22:51:05 +0200 Subject: [PATCH] Ignored pywatchman.SocketTimeout in Watchman autoreloader. Bumped minimum supported pywatchman version to 1.2.0. These exceptions don't require checking a server status. --- django/utils/autoreload.py | 2 ++ docs/ref/django-admin.txt | 3 ++- docs/releases/3.0.txt | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/django/utils/autoreload.py b/django/utils/autoreload.py index 958feddb59..559812d9c3 100644 --- a/django/utils/autoreload.py +++ b/django/utils/autoreload.py @@ -506,6 +506,8 @@ class WatchmanReloader(BaseReloader): self.processed_request.clear() try: self.client.receive() + except pywatchman.SocketTimeout: + pass except pywatchman.WatchmanError as ex: self.check_server_status(ex) else: diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt index 4c7396f929..c66d1867d0 100644 --- a/docs/ref/django-admin.txt +++ b/docs/ref/django-admin.txt @@ -888,7 +888,8 @@ If you're using Linux or MacOS and install both `pywatchman`_ and the `Watchman`_ service, kernel signals will be used to autoreload the server (rather than polling file modification timestamps each second). This offers better performance on large projects, reduced response time after code changes, -more robust change detection, and a reduction in power usage. +more robust change detection, and a reduction in power usage. Django supports +``pywatchman`` 1.2.0 and higher. .. admonition:: Large directories with many files may cause performance issues diff --git a/docs/releases/3.0.txt b/docs/releases/3.0.txt index 966644385b..9bf4ce2205 100644 --- a/docs/releases/3.0.txt +++ b/docs/releases/3.0.txt @@ -368,6 +368,8 @@ Miscellaneous * The ``django-admin test -k`` option now works as the :option:`unittest -k` option rather than as a shortcut for ``--keepdb``. +* Support for ``pywatchman`` < 1.2.0 is removed. + .. _deprecated-features-3.0: Features deprecated in 3.0