每次 Rails 运行初始化程序时如何得到通知?

How to be notified each time Rails runs an initializer?

为了进行性能基准测试,我试图连接到 Rails 启动周期并在 config/initializers 中的文件为 运行 时捕获时间戳。有什么方法可以为每个 运行?

的初始化器注册一个监听器吗?

一个简单而不引人注目的解决方案是...

您可以将名为 0000_initialize_initializer_listener.rb 的文件添加到 config/initializers,这将使它首先加载,

在该文件中,您定义了一个 class 或一个记录初始化程序触发的方法,

然后将该方法调用添加到每个初始化程序文件。

我敢打赌,您会发现所有文件大致同时加载,启动加载时间问题通常与初始化程序的拖拽无关,

如果你只想知道 "when did my rails proc get started and how long it took",你可以在 config/boot.rb 和初始值设定项

中添加基准日志条目

祝你好运:)