Есть приложение не fastApi. Ели приложение не трогать часов 6-10, оно выдает ошибку
Invalid HTTP request received
Это я вижу в консоле сервера.
Если я перехожу по какой-нибудь ссылке, то приложение выдает
500 Internal Server Error
И тогда в консоле появляется следующая ошибка
Can't reconnect until invalid transaction is rolled back.
Мое подключение к БД
engine = create_engine(
SQLALCHEMY_DATABASE_URL, pool_size=10, max_overflow=20, pool_pre_ping=True, pool_recycle=60
)
session = Session(bind=engine, autoflush=False)
И дальше я вызываю session для запросов.
Вот мой nginx
server {
server_name site.ru;
listen 80 default_server;
listen [::]:80 default_server;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_redirect off;
proxy_buffering off;
proxy_pass http://xx.xx.xx.xx:8000;
}
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream uvicorn {
server unix:/tmp/uvicorn.sock;
}
Все работает, если приложение перезагрузить. Но простаивает ночь, и ломается.
Все советы из доков sqlAchemy я старался внедрить и они мне не помогли.
Даже проверял если постоянно делать запросы к бд по крону.
Повесил крон, который что-то обновляет в БД
user = session.query(Users).filter(Users.login == 'test', Users.active == True).one_or_none()
user.login = 'test'
session.add(user)
session.commit()
То есть, что бы не было разрыва с БД, и это тоже не помогло.
И вот так у меня идет запуск приложения
python3.10 -m uvicorn index:app --host xx.xx.xx.xx --reload
python 3.10
sqlAchemy 1.46
Парни, подсобите, уже два месяца вожусь с этой проблемой((