uwsgi initialization uses the --lazy flag, to prevent connection overload
as described in https://serverfault.com/questions/407612/error-2006-mysql-server-has-gone-away the uwsgi server usually forks its workers from the parent, which already has a connection open to the mysql database. So the new child typically inherits the same connection. Should both workers use the same connection at the same time, the server connection throws a '2006, server has gone away error'. The flag --lazy creates fresh forks for each child, each creating a new connection. This prevents the overload and after testing, the '2006' error seems to not be reproduceable.
This commit is contained in:
parent
5391a4548b
commit
081888d1f6
@ -1,5 +1,17 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
cd /home/calendarwatch
|
cd /home/calendarwatch
|
||||||
uwsgi --ini wsgi.ini
|
|
||||||
|
# use flasks own uwsgi server for debugging:
|
||||||
|
# export FLASK_APP=/home/calendarwatch/server.py
|
||||||
|
# python3 server.py
|
||||||
|
|
||||||
|
|
||||||
|
# the --lazy flag forks() a new instance of the server
|
||||||
|
# instead of forking from the parent and copying the same mysql
|
||||||
|
# connection. If you don't do that, then multiple forks will use
|
||||||
|
# the same connection at the same time, causing the server to throw
|
||||||
|
# a 'connection has gone away' error.
|
||||||
|
# more here: https://serverfault.com/questions/407612/error-2006-mysql-server-has-gone-away
|
||||||
|
uwsgi --ini wsgi.ini --lazy
|
||||||
echo "server has been started"
|
echo "server has been started"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user