我有一个用Twisted编写的守护进程。它的范围和功能迅速增长,需要从头开始重建,以正确处理当前的工作量。
守护进程在runInteraction中执行此操作:
步骤2中发生的活动量& 3稳步增长到需要重构为多个runInteractions和一些额外的数据库日志记录的地方。
我目前正在重写此内容,但需要几天才能投入生产。
直到我达到这一点,手动调用“COMMIT; ROLLBACK”是否可怕?在事务的光标上?
答案 0 :(得分:0)
这取决于你使用的确切数据库,但是,它可能很糟糕,虽然并不可怕。通过发出一个COMMIT; ROLLBACK作为SQL而不是Python方法调用,你可能会弄乱你的底层数据库库对你所处的事务的想法。但是,请记住,你的服务器可能会在完成这项工作的中途崩溃; runInteraction
的全部意义在于它为您提供了一笔交易大量的工作,这些工作将一次全部执行。如果你不在乎你的数据库可能最终不一致,并且它正在运行,那么它可能就好了。