Rails后台工作者似乎被包装在一个事务中

时间:2013-09-17 19:43:54

标签: ruby-on-rails ruby-on-rails-3 delayed-job postgresql-9.2 rails-postgresql

我知道标题是多么无用和模糊。抱歉。除了一些观察和证据之外,我的代码没有任何改变。

我有一个使用DelayedJob和PostgreSQL 9.2的Rails 3.2.14应用程序。几个月来,我有一些代码,后台工作者将文件内容处理到数据库中。每个作业/任务将加载100K到1M记录。直到最近,当我观看数据库时,我可以通过调用Product.count来看到记录累积。

现在,我只看到Product.count在作业/任务完成时更新为新的总和。这几乎就好像整个操作现在被包装在事务中,阻止我看到增量更改。我已经证实相关的代码区域没有任何变化,我已经在3.2.14上进行了一段时间了。

有谁知道这可能是什么? DelayedJob?

我也在使用Ruby 2.0.0-p247。

1 个答案:

答案 0 :(得分:0)

从这篇帖子https://github.com/collectiveidea/delayed_job/issues/585#issuecomment-56743773来看,似乎delay_job没有将作业包装在交易中。