after_create中的Sidekiq处理提取错误的记录数?

时间:2014-09-23 21:32:06

标签: ruby-on-rails-3 callback sidekiq

出于某种原因,在after_create中触发后,Sidekiq为我提供了0条查询记录。 但是,如果process中包含sleep 1,则它总是给我正确的值(1条记录)。
这到底是怎么回事?

型号:

after_create :after_create

def after_create
    AwardsWorker.perform_async(user_id)
end

工人:

def perform(user_id)
  user = User.find(user_id)
  AwardEngine.added_shows_awards(user)
end

AwardEngine:

def self.added_shows_awards(user)
  count = user.followings(true).count #(true) to avoid AR caching
  puts "count: #{count}" #this is mostly 0! even if the database has 1 record
end

1 个答案:

答案 0 :(得分:4)