pytransaction

所属分类:调试/Bug
开发工具:Python
文件大小:0KB
下载次数:0
上传日期:2019-03-12 08:23:16
上 传 者sh-1993
说明:  发生异常时还原,
(revert when exception occurs,)

文件列表:
pytransaction/ (0, 2019-03-12)
pytransaction/__init__.py (1013, 2019-03-12)
setup.py (525, 2019-03-12)

# 伪事务处理 ## 功能 对于一组函数,如果执行过程中发生异常, 按照反向的调用顺序依次调用对应的逆过程 ## 栗子 ```python from pytransaction import Transaction def test1(*args, **kwargs): print('test1 running..', args, kwargs) def test2(*args, **kwargs): print('test2 running...', args, kwargs) raise ValueError('oops, exception occurs') def rollback(*args, **kwargs): print('rolling back...', args, kwargs) try: with Transaction() as t: t.run(test1, rollback, args=(1,2), kwargs={'arg3':3}, rargs=('a', 'b'), rkwargs={'t':'tt'}) t.run(test1, rollback, kwargs={'arg3':3}) t.run(test1, rollback, args=(4,), kwargs={'a':'aa'}, rargs=(5,6), rkwargs='same') t.run(test2, rollback, args=('stop here',), rargs='same') t.run(test1, rollback, args=('will not run')) except Exception as e: print('handle exceptions here') raise e ``` ## 注意 因为逆向操作也可能会失败,因此不能完全保证事务一定得到处理

近期下载者

相关文件


收藏者