SQLAlchemy + MySQL连接阻塞了几个小时

时间:2015-04-25 19:33:41

标签: python mysql sqlalchemy

我正在使用SQLAlchemy 0.9.1 + MySQL 5.6.19a(通过Amazon RDS),并且它在重负载(几十个进程同时读取和写入)的情况下运行良好数月。今天早上,我发现在尝试读取和/或写入数据库时​​,有几个进程被阻塞了几个小时。

我正在使用SQLAlchemy文档中建议的session_scope:

@contextmanager
def session_scope():
    """Provide a transactional scope around a series of SQLAlchemy operations."""

    session = SESSION()
    try:
        yield session
        session.commit()
    except:
        session.rollback()
        raise
    finally:
        session.close()

所以例如:

with session_scope() as session:
    # Create a new record, set timestamp
    record = MetricsSnapshot()
    record.timestamp = timestamp
    session.add(record)

我发现我的代码从未引发异常。它似乎已经阻塞了大约四个小时,然后继续。我认为过去没有发生过,但我不确定是什么原因引起的。

可以想象SQLAlchemy或MySQL中的超时设置得足够高以允许延迟四小时吗?还有什么我可以检查以找出发生了什么?

0 个答案:

没有答案