0
0 комментариев

Чат на Flask-SocketIO + SqlAlchemy, запушен на gunicorn + eventlet ошибка — psycopg2.ProgrammingError: close cannot be used while an asynchronous query is underway

Подскажите решение проблемы, нет опыта в асинхронном програмировании, сейчас запускаю так:

engine = create_engine(postgresql://db_user:db_pass@localhost:5432/db_name)
session = Session(bind=engine)
Base = declarative_base()
 
class MyTab(Base):
    __tablename__ = 'my_tab'
    id = Column(Integer, primary_key=True
    val = Column(String(50))

может есть варианты простых модулей типа psycopg2, которые помогут решить проблему без серьезных изменений в коде, не нашел примеров с ORM. Можно ли использовать ORM в асинхронном режиме? Или предстоит все переделать под Core

Лог ошибки:

2017-04-12 16:23:02,698 INFO sqlalchemy.engine.base.Engine {'id_1': '1', 'param_1': 1}
Error closing cursor
Traceback (most recent call last):
  File "/var/www/chat/virt/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context context)
  File "/var/www/chat/virt/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute cursor.execute(statement, parameters)
psycopg2.ProgrammingError: execute cannot be used while an asynchronous query is underway
 
During handling of the above exception, another exception occurred:
 
Traceback (most recent call last):
  File "/var/www/chat/virt/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1226, in _safe_close_cursor cursor.close()
psycopg2.ProgrammingError: close cannot be used while an asynchronous query is underway
2017-04-12 16:23:02,701 INFO sqlalchemy.engine.base.Engine ROLLBACK
[2017-04-12 16:23:32 +0300] [11106] [CRITICAL] WORKER TIMEOUT (pid:11109)
[2017-04-12 16:23:33 +0300] [11118] [INFO] Booting worker with pid: 11118
Server initialized for eventlet.

Ранее запускал на uwsgi + devent_uwsgi проблем с базой небыло


Добавить комментарий