【发布时间】:2014-02-23 06:25:15
【问题描述】:
我从after_create 回调中调用“队列”方法,以在模型实例创建后触发Sidekiq 进程。但是,我的 Sidekiq 工人第一次接手工作时,记录还没有提交。
我知道有一个after_commit 记录,但我只希望对象在创建时排队,而不是在更新时排队。如果没有涉及日期检查等的任何黑客行为,我如何才能做到这一点?
【问题讨论】:
-
引入睡眠?这也可能有效(再次破解)。
-
这至少会减少失败。
-
如何在
after_commit方法中检查#id_was。如果是新记录,也许应该是nil
标签: ruby-on-rails-3.2 callback rails-activerecord