Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flask app "Restarting with stat"

Tags:

python

flask

I've built a few Flask apps, but on my latest project I noticed something a little strange in development mode. The second line of the usual message in the terminal which always reads:

 * Running on http://127.0.0.1:5000/  * Restarting with reloader 

has been replaced by:

 * Restarting with stat 

I don't think I've done anything different, in fact, I started by cloning a starter-kit project that I have used many times, which itself, does not display this behavior. I also notice that this project consumes about 15% CPU steadily, whereas my other project are barely a blip.

Any ideas why this is happening?

like image 972
domoarigato Avatar asked Jan 30 '15 18:01

domoarigato


1 Answers

Check your version of Werkzeug. Version 0.10 was just released and numerous changes went into the reloader. One change is that a default polling reloader is used; the old pyinotify reloader was apparently inaccurate. If you want more efficient polling, install the watchdog package. You can see the code related to this here.

When Werkzeug can't find watchdog, it uses the stat reloader, otherwise it uses whatever reloader watchdog uses, which can vary by platform. This message is just so you know which one is in use.


Watchdog may not be compatible with gevent. If you're using gevent and having issues with the reloader when using Watchdog, check this GitHub issue.

like image 123
davidism Avatar answered Sep 19 '22 00:09

davidism