代码之家  ›  专栏  ›  技术社区  ›  Yetanotherjosh

Rails:让逻辑在请求结束时运行,而不管过滤器链中止?

  •  1
  • Yetanotherjosh  · 技术社区  · 14 年前

    rails文档中是否讨论了一种可靠的机制,用于在请求结束时调用函数,而不考虑过滤器链中止?

    它不是after filters,因为如果任何先前的过滤器被重定向或呈现,after filters就不会被调用。

    请求。在整个请求生存期内,通过包装在自定义控制器访问器中的实例变量收集这些信息,并在最后转储到JSON blob中,供后处理脚本使用。

    我的最终目标是生成关于我的应用程序的逻辑查询分布(依赖于控制器逻辑的东西,而不仅仅是请求uri和参数)、性能配置文件(在特定DB查询中花费的时间或在webservices上阻塞的时间)的报告,失败率(包括被before\u filter验证规则拒绝的无效传入请求),以及大量无法从应用程序和apache日志中的基本信息中真正解析的其他内容。

    在更高的层次上,有没有一种不同的“rails方式”来解决我的应用程序评测目标?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Thomas R. Koll    14 年前

    您需要一个中间件,它可以在应用程序完成请求后执行代码。有关指南中的更多信息,请参阅: http://guides.rails.info/rails_on_rack.html

        2
  •  0
  •   Mark Nadig    11 年前