0
我正在嘗試更新作業內迭代的表格行。下面是代碼示例如何在sidekiq事務完成之前提交數據庫?
class UpdateTableJob < ApplicationJob
def perform(arg1, arg2)
User.each do |person|
person.update_attributes(:name => "test")
sleep 25
end
end
end
說我有100個用戶和100用戶的迭代完成後才能,我看得出來,改變被提交到數據庫。但是我怎樣才能在每次更新中實現這一點?
1.您確定'perform'正在處理事務嗎? –
2.在您的示例中不使用交易是錯誤的方法 –
在第二條評論中,您是否說交易是強制性的。正如我在更新用戶之後嘗試從數據庫獲取值時所說的那樣,我無法找到更新,但只有在作業完成後纔會更新。但是,當我嘗試在更新後強行提交數據庫時,我能夠看到數據庫中的更改。 – logesh