Commit 71937a5b authored by delanoe's avatar delanoe

[FIX] Try to fix parallelism bug with a session manager.

parent daf4e9d3
...@@ -7,13 +7,15 @@ __all__ = ['literalquery', 'session', 'cache', 'Session', 'bulk_insert', 'engine ...@@ -7,13 +7,15 @@ __all__ = ['literalquery', 'session', 'cache', 'Session', 'bulk_insert', 'engine
# initialize sqlalchemy # initialize sqlalchemy
from sqlalchemy.orm import Session, mapper from sqlalchemy.orm import Session, mapper, scoped_session, sessionmaker
from sqlalchemy.ext.automap import automap_base from sqlalchemy.ext.automap import automap_base
from sqlalchemy import create_engine, MetaData, Table, Column, ForeignKey from sqlalchemy import create_engine, MetaData, Table, Column, ForeignKey
from sqlalchemy.types import Integer, String, DateTime from sqlalchemy.types import Integer, String, DateTime
from sqlalchemy.dialects.postgresql import JSON from sqlalchemy.dialects.postgresql import JSON
# SQLAlchemy session management # SQLAlchemy session management
def get_engine(): def get_engine():
from sqlalchemy import create_engine from sqlalchemy import create_engine
...@@ -129,12 +131,13 @@ def literalquery(statement, dialect=None): ...@@ -129,12 +131,13 @@ def literalquery(statement, dialect=None):
return LiteralCompiler(dialect, statement) return LiteralCompiler(dialect, statement)
def get_sessionmaker(): def get_sessionmaker():
from sqlalchemy.orm import sessionmaker from sqlalchemy.orm import sessionmaker
return sessionmaker(bind=engine) return sessionmaker(bind=engine)
Session = get_sessionmaker() Session = get_sessionmaker()
session = Session() session = scoped_session(Session)
# SQLAlchemy model objects caching # SQLAlchemy model objects caching
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment