失败时Sidekiq后台作业回滚

时间:2017-02-12 18:06:13

标签: ruby-on-rails ruby sidekiq

我想知道如果作业未能完成,sidekiq后台作业是否会回滚其数据库?机器死了或类似的东西。

我正在使用rails 4.2.1,sidekiq 4.0.1

1 个答案:

答案 0 :(得分:0)

Sidekiq并不真正处理交易,但Rails确实如此。因此,如果你有几个陈述,你应该将它们包装在一个交易中,即:。

ActiveRecord::Base.transaction do
  User.update(amount: 100)
  Bank.update(amount: 0)
end

然后,如果出现问题,这些更改将被回滚。