Rails服务器运行的已经过去的时间有办法获取吗?

7

我想在我的Rails项目中的某个HTML视图中打印出它,同时还有一些其他有用的信息。类似于“当前运行时间= 4d 11h 54m 2s”或“自2013年8月23日起运行”。

令人惊讶的是,无法在任何地方找到相关信息。也许有一种通用的Rack方法可以做到这一点。

1个回答

12

这其实很容易。创建一个文件,名为config/initializers/uptime.rb,其中包含以下内容:

YourApplication::BOOTED_AT = Time.now

那么现在只需要将当前时间与该时间进行比较,您可以在一个辅助方法中轻松地使用Rails帮助程序time_ago_in_words来完成:

则翻译为:

然后只需要比较当前时间和那个时间,在一个辅助方法中使用Rails帮助程序time_ago_in_words就可以轻松完成:

def uptime
  time_ago_in_words(YourApplication::BOOTED_AT)
end

这将给您一个易于理解的字符串,说明应用程序已经运行了多长时间(启动时可能会有几秒钟左右的误差)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接