【问题标题】:Rails: Accessing session in InitializerRails:在初始化程序中访问会话
【发布时间】:2015-03-26 17:16:56
【问题描述】:

我有兴趣记录我的 GET 和 POST 所花费的时间(按视图、ActiveRecords 等所花费的时间来划分)。

在this blog 之后,我创建了一个初始化程序/timing.rb 并订阅了如下通知 ActiveSupport::Notifications.subscribe /process_action.action_controller/

我可以看到我的每个 GET 和 POST 的时间信息。

此外,我在会话中有一些信息(我们使用 redis),我打算在我的初始化程序中记录此计时日志

问题

  1. 如何访问 initializers/timing.rb 中的会话对象?我做了一个 很多谷歌搜索,但找不到真正的答案 工作。
  2. 是我在timing.rb线程中声明和使用的变量吗 安全,如果我的网络服务器服务多个 http 请求 同时?
  3. 我必须使用模块吗?

我的软件 导轨 3.2.13

仅供参考 this link 中的答案没有帮助

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 session


    【解决方案1】:

    链接帖子向您展示如何构造的事件对象包含控制器:controller = event.payload[:controller]

    获得控制器后,您只需调用 controller.session 即可访问其会话。

    关于线程安全,块的局部变量是安全的,线程局部变量也是如此。其他任何事情,您都必须小心。不确定必须使用模块是什么意思。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-13
      • 2011-01-08
      • 1970-01-01
      • 2015-04-02
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多