unbit / uwsgi

uWSGI application server container
http://projects.unbit.it/uwsgi
Other
3.46k stars 691 forks source link

Flask py-autoreload stopped working on version 2.0.26 #2665

Open gurpreetbhatoa opened 2 months ago

gurpreetbhatoa commented 2 months ago

I upgraded from uWSGI package from 2.0.23 to 2.0.26 and my flask development environment stopped doing hot reload on file changes. I tried it on 2.0.25 and still the same issue. I am running flask in docker on Win10 host. Docker desktop log comes up with the following error message: "is taking too much time to die...NO MERCY"

I tried on version 2.0.24 and autoreload work in it. So issue seems like in version 2.0.25 onwards.

Could someone please check if this is the case?

mjurosz commented 3 weeks ago

Update: Seem like another hot reloading issue regression in 2.0.27 is here https://github.com/unbit/uwsgi/issues/2681

In that case Linux, Docker, Python 3.12.6, Flask all works fine with Python uwsgi packages 2.0.24, 2.0.25.1. and 2.0.26. The regression is in 2.0.27.

Example

[uwsgi-python-reloader] module/file /myapp/app1.py has been modified
[uwsgi-python-reloader] module/file /myapp/app1.py has been modified

but then nothing happens. I need to kill workers

Disposed connection pool after fork on pid:208 (worker:1)
Disposed connection pool after fork on pid:209 (worker:2)

manually from within Docker container to restart app

> docker compose exec myapp bash -c 'kill 208 ; kill 209'

and after that I finally see

...gracefully killing workers...
binary reloading uWSGI...
xrmx commented 2 weeks ago

Please retry with 2.0.28

toabi commented 1 week ago

We have very weird behaviour with our django projects, even with 2.0.28 — it only recognises changes in certain files, but not all of them. I can't really find a pattern… it's just some files work and some don't.

We run it in a container and use docker-desktop (mac) to mount the code into the container… don't know if that also plays a role.