Я недавно перешел с локальной настройки web.py/apache на общий хост, и я пытаюсь соответствовать своей домашней конфигурации.Одной из проблем, которая появляется, является OperationalError "Сервер MySQL ушел".При поиске в интернете люди, которые сталкивались с этой ошибкой, обычно неактивны в течение нескольких часов.Это случается со мной между секундами.
Я подтвердил с помощью примера функции mod_wsgi application (), что на самом деле я работаю в режиме демона.Однако меня беспокоит одна проблема: если я выкладываю web.ctx.orm в журнал ошибок, он кажется новым объектом для каждого запроса.Разве мой объект сеанса sqlalchemy не должен быть одинаковым между запросами страниц?
Вот мой код на Python и часть настроек apache.Есть ли что-нибудь, что могло бы вызвать проблемы на этой новой машине, которой у меня не было раньше на моей домашней машине?
def load_sqla(handler):
web.ctx.orm = scoped_session(sessionmaker(bind=engine))
try:
try:
return handler()
except web.HTTPError:
web.ctx.orm.commit()
raise
except:
web.ctx.orm.rollback()
raise
finally:
web.ctx.orm.commit()
# If the above alone doesn't work, uncomment
# the following line:
web.ctx.orm.expunge_all()
... urls and controllers ...
app = web.application(urls, globals(), autoreload=False)
app.add_processor(load_sqla)
application = app.wsgifunc()
, и вот часть моей настройки apache.
WSGIDaemonProcess app processes=1 threads=1 python-path=/home/net/
public_html/myapp
WSGIProcessGroup app
WSGIScriptAlias /myapp /home/net/public_html/myapp/managio.py
<Directory "/home/stratton/public_html/myapp">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
</Directory>