Hello,
I am not sure this error belongs to Python-socktio or SqlAlchemy or I am doing something wrong....
my socket app works perfectly when you start... after couple of hours... I am getting "Lost connection to MySQL server during query"
I am not using any web framework just using python-socketio and sqlalchemy...
can you please suggest what can be wrong here...?
my db file
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, scoped_session
from os import environ
# SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db"
user_name = environ.get('DATABASE_USER', 'root')
password = environ.get('DATABASE_PASSWORD', '')
host = environ.get('DATABASE_HOST', 'localhost')
database_name = environ.get('DATABASE_NAME', 'db')
server_type = "mysql+pymysql"
SQLALCHEMY_DATABASE_URL = f"{server_type}://{user_name}:{password}@{host}/{database_name}"
engine = create_engine(SQLALCHEMY_DATABASE_URL, )
SessionLocal = scoped_session(
sessionmaker(
autocommit=False,
autoflush=False,
bind=engine
)
)
Base = declarative_base()
# Session class for DB connection, connect when instance is created
Base.query = SessionLocal.query_property()
socket io file
import socketio
from os import environ
async_mode = environ.get('ASYNC_MODE', 'asgi')
def build_rmq_mgr():
rmq_user = environ.get('RABBIT_MQ_USER')
rmq_password = environ.get('RABBIT_MQ_PASSWORD')
mgr = socketio.AsyncAioPikaManager(f'amqp://{rmq_user}:{rmq_password}@localhost:5672//')
return mgr
sio = socketio.AsyncServer(logger=True, async_mode=async_mode, client_manager=build_rmq_mgr())
main file
```python
import uvicorn
from dotenv import load_dotenv
from os import environ
from config import config_dict
load_dotenv(".env", verbose=True)
get_config_mode = environ.get('CONFIG_MODE', 'Debug')
try:
config_mode = config_dict[get_config_mode.capitalize()]
except KeyError:
exit('Error: Invalid CONFIG_MODE environment variable entry.')
from app import create_app
app = create_app(config_mode)
if __name__ == '__main__':
uvicorn.run(app, host='0.0.0.0', port=5000)
create app file
from logging import basicConfig, DEBUG, getLogger, StreamHandler
from os import environ
from socket_io import sio
import socketio
def configure_logs(app):
basicConfig(filename='error.log', level=DEBUG)
logger = getLogger()
logger.addHandler(StreamHandler())
def register_events():
from app.events import AllEvents
sio.register_namespace(AllEvents('/events'))
def create_app(config):
app = socketio.ASGIApp(sio, static_files={
'/': 'app/client/templates/index.html',
'/chat': 'app/client/templates/chat.html',
'/static': 'app/client/templates',
})
register_events()
return app
Hello,
I am not sure this error belongs to Python-socktio or SqlAlchemy or I am doing something wrong....
my socket app works perfectly when you start... after couple of hours... I am getting "Lost connection to MySQL server during query"
I am not using any web framework just using python-socketio and sqlalchemy...
can you please suggest what can be wrong here...?
my db file
socket io file
create app file