【发布时间】:2017-02-12 18:06:13
【问题描述】:
我想知道如果作业无法完成,sidekiq 后台作业是否会回滚其数据库?即机器死机或类似的事情。
我正在使用 rails 4.2.1,sidekiq 4.0.1
【问题讨论】:
标签: ruby-on-rails ruby sidekiq
我想知道如果作业无法完成,sidekiq 后台作业是否会回滚其数据库?即机器死机或类似的事情。
我正在使用 rails 4.2.1,sidekiq 4.0.1
【问题讨论】:
标签: ruby-on-rails ruby sidekiq
Sidekiq 并不真正处理事务,但 Rails 可以。因此,如果您有多个语句,则应将它们包装在事务中,即:
ActiveRecord::Base.transaction do
User.update(amount: 100)
Bank.update(amount: 0)
end
然后,如果出现问题,这些更改将被回滚。
【讨论】: