在延迟作业中无法访问Request Store变量

时间:2015-11-17 07:54:19

标签: ruby-on-rails

我们在我们的应用中使用request store gem。它用于存储全局数据。但问题是如果我尝试在延迟的作业中访问请求存储变量它是不可访问的。为了使请求存储数据在延迟作业中可用,还有什么需要做的额外工作吗?

延迟工作代码

class CustomersCreateJob < Struct.new()
  def perform
    puts "Request Data =====> #{RequestStore.store[:current_user] }"
  end
end

1 个答案:

答案 0 :(得分:1)

通常,current_user默认情况下仅在控制器中可用。

你没有提到你的方法或正在运行的工作,但是在工作开始的时候,即使它恰好在同一个进程和线程中 - 请求已经完成且没有{{1 }}。因此,明确地将用户的ID传递给作业(这取决于您如何运行它们)