控制器找不到worker创建的对象

花了一整天试图解决这个问题..

基本上控制器正在调用worker来执行“Balance”的创建。 工作程序执行成功并创建记录但是当它返回到控制器时,它找不到创建的对象。 如何强制它寻找“更新数据库”记录?

控制器:

balance = BalanceCreator.perform_async(userx.id, market.id) 20.times do status = Sidekiq::Status::get balance, :exp_status if ["done"].include?(status) break end sleep(0.2) end statux = Sidekiq::Status::get balance, :exp_status puts statux # Shows correct status exp_id = Sidekiq::Status::get balance, :exp_id puts exp_id # Shows correct id user_exp = Balance.find(exp_id) # Error - WARN: Couldn't find Balance with 'id'=2 

工人

 class BalanceCreator def perform(user, market) balance = Balance.find_or_create_by(user: user, market: market) puts balance.id # Correct id displays store exp_status: "done" exp_status = retrieve :exp_status store exp_id: exposure.id exp_id = retrieve :exp_id end end