【问题标题】:Sidekiq background job rollback when fail失败时 Sidekiq 后台作业回滚
【发布时间】:2017-02-12 18:06:13
【问题描述】:

我想知道如果作业无法完成,sidekiq 后台作业是否会回滚其数据库?即机器死机或类似的事情。

我正在使用 rails 4.2.1,sidekiq 4.0.1

【问题讨论】:

    标签: ruby-on-rails ruby sidekiq


    【解决方案1】:

    Sidekiq 并不真正处理事务,但 Rails 可以。因此,如果您有多个语句,则应将它们包装在事务中,即:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-07
      • 1970-01-01
      相关资源
      最近更新 更多