如何保证并发Rails / Active Record操作的数据完整性

时间:2011-11-30 17:51:11

标签: ruby-on-rails activerecord concurrency transactions

我需要为rails网站实现一项功能,该功能将涉及读取和导出我的大部分数据库。

我知道这个操作需要一段时间。那很好 - 我的工作推迟了。

我担心的是在作业运行期间数据发生了变化,导致导致导致导致损坏。

我最初的想法是在事务中执行所有读取操作。但是,如果可能的话,我还想同时运行读取。 ActiveRecord文档说不能在Connections之间共享事务,并且不能在线程之间共享Connections。所以看起来我只能用这种方法限制一个线程。

有关解决方法的任何建议吗?是否有另一种方法可以为作业提供一致的不涉及交易的数据视图?或者是否有一些替代ActiveRecord / Mysql可以跨线程分发事务?

0 个答案:

没有答案