当我在我的应用程序中创建一个新的User
时,我运行一个after_create
方法,然后异步触发一个Sidekiq工作人员。Sidekiq在工作人员没有找到对象
这个工人...
def perform user_id
@user = ::User.find user_id
# ...
end
...总是返回以下错误:
ActiveRecord::RecordNotFound: Couldn't find User with 'id'=315928979197048617
但是用钢轨控制台来检查,如果用户ID容易找到:
User.find(315928979197048617)
=> #<User id: 315928979197048617>
这是否发生是因为t他创建新用户需要一些时间,并且工作人员在完成时已经执行了该方法?如果我如何解决这个问题?