virtuoso_deadlock.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:idealoom 作者: conversence 项目源码 文件源码
def transient_deadlock_tween_factory(handler, registry):
    """This defines a tween that will retry a request if it failed
    thanks to a deadlock in the virtuoso database."""
    def transient_deadlock_tween(request):
        try:
            return handler(request)
        except DBAPIError as e:
            orig = e.orig
            if getattr(orig, 'args', [None])[0] == '40001':
                time.sleep(random.random())
                raise DeadlockError(e.statement, e.params, orig)
            else:
                raise

    return transient_deadlock_tween
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号