【问题标题】:Call a rails 3 controller action after server startup服务器启动后调用 rails 3 控制器操作
【发布时间】:2016-02-25 02:48:12
【问题描述】:

我们有一个 rails 3 控制器操作,它调用远程 api 并缓存响应。不幸的是,这是一个缓慢的过程,因此第一个调用该操作的人必须等待很长时间才能得到响应。我如何在 rails 启动时(或在不久之后的某个时间点)调用此控制器操作,以便第一个用户不必有那么长的延迟。

提前致谢

【问题讨论】:

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


    【解决方案1】:

    如果你想在启动时加载一些数据,我建议在初始化程序中这样做,在适当的地方设置一个变量,然后让你的控制器从该变量中读取。

    但现在您正在为 每个 应用服务器实例访问远程 API。在每个实例中刷新缓存也将具有挑战性。更好的方法是将数据存储在 Redis 或 Memcached 等共享存储中,然后使用 cron 作业进行设置,例如通过whenever gem。 Rails 并不是真正为请求间缓存而设计的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多