Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

watchdog: Prevent reload if a file gets closed without any changes #2945

Open
lociii opened this issue Sep 5, 2024 · 2 comments · May be fixed by #2947
Open

watchdog: Prevent reload if a file gets closed without any changes #2945

lociii opened this issue Sep 5, 2024 · 2 comments · May be fixed by #2947

Comments

@lociii
Copy link

lociii commented Sep 5, 2024

What's the issue?

watchdog 5.0 introduced a new signal that is fired when a file gets closed without any changes written.
This leads to random reloads when something opens and closes a file. opened events are already ignored, so we should ignore the new closed_no_write events too.

How to reproduce?

Update to watchdog 5.0+ and wait for the reloads to come in.

What's the expected behavior?

Werkzeug should only reload if there are actual changes to the code base.

Environment

  • Python version: 3.11.2
  • Werkzeug version: 3.0.4
  • watchdog version: 5.0.2
@marianobianchi
Copy link

I'm using Django and django-extensions. I started getting reloads on every request. After doing some checks I was able to find that it started happening after upgrading werkzeug from 3.0.3 to 3.0.4

@ckarli
Copy link

ckarli commented Sep 17, 2024

I'm using Django and django-extensions. I started getting reloads on every request. After doing some checks I was able to find that it started happening after upgrading werkzeug from 3.0.3 to 3.0.4

I am also having the same problem

I am using
werkzeug==3.0.4
watchdog==5.0.2

After a request i get bogus changes detected

backend-1 | * Detected change in '/backend/common/schema.py', reloading backend-1 | * Detected change in '/usr/local/lib/python3.12/site-packages/drf_spectacular/openapi.py', reloading backend-1 | * Detected change in '/usr/local/lib/python3.12/site-packages/drf_spectacular/utils.py', reloading backend-1 | * Detected change in '/usr/local/lib/python3.12/site-packages/drf_spectacular/generators.py', reloading backend-1 | * Detected change in '/usr/local/lib/python3.12/site-packages/drf_spectacular/views.py', reloading backend-1 | * Detected change in '/usr/local/lib/python3.12/site-packages/rest_framework/views.py', reloading backend-1 | * Detected change in '/usr/local/lib/python3.12/site-packages/django/views/generic/base.py', reloading backend-1 | * Detected change in '/usr/local/lib/python3.12/site-packages/django/views/decorators/csrf.py', reloading backend-1 | * Detected change in '/backend/common/authentication.py', reloading postgres-1 | 2024-09-17 08:08:21.866 UTC [104] LOG: could not receive data from client: Connection reset by peer backend-1 | * Restarting with watchdog (inotify)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants