Notifications
# 发布消息
ActiveSupport::Notifications.instrument('render', extra: :information) do
# 下面是真正要执行的内容
render text: 'Foo'
end
# 订阅消息
ActiveSupport::Notifications.subscribe('render') do |name, start, finish, id, payload|
# 以下 4 个属性是 notification 自带的
name # => 类型是字符串, 代表 notification 的名字(在这里是 'render')
start # => 类型是 Time, 代表上面开始"执行内容"的时间
finish # => 类型是 Time, 代表上面结束"执行内容"的时间
id # => 类型是 String, 唯一的 ID 表示此 notification
# 以下属性对应着 instrument 里的 extra
payload # => 类型是 Hash, 也就是上面传递过来的参数
end最后更新于