Bạn cũng có thể thực hiện một giao dịch. Giống như ví dụ dưới đây:
transaction do
thing = Thing.find(1)
puts thing.foo # outputs "old value"
thing.foo = "new value"
thing.save
end
ThingProcessor.queue_job(thing.id)
Cập nhật:có một viên ngọc gọi Sau khi giao dịch, với điều này, bạn có thể giải quyết vấn đề của mình. Đây là liên kết: http://xtargets.com/2012/03/08/und hieu-and-solving-race-conditions-with-ruby-rails-and-background-workers/