Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在服务器启动后调用rails 3控制器操作_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 在服务器启动后调用rails 3控制器操作

Ruby on rails 在服务器启动后调用rails 3控制器操作,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我们有一个rails 3控制器操作,它调用远程api并缓存响应。不幸的是,这是一个缓慢的过程,因此第一个调用该操作的人必须等待相当长的时间才能得到响应。当rails启动时(或之后不久的某个时刻),我如何调用这个控制器动作,这样第一个用户就不必有那么长的延迟 提前感谢如果您想在启动时加载一些数据,我建议在初始值设定项中这样做,在适当的位置设置一个变量,然后让您的控制器从该变量读取数据 但是现在您正在为每个应用服务器实例使用远程API。同时,刷新每个实例中的缓存也是一项挑战。更好的方法是将数据存储在

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


提前感谢

如果您想在启动时加载一些数据,我建议在初始值设定项中这样做,在适当的位置设置一个变量,然后让您的控制器从该变量读取数据

但是现在您正在为每个应用服务器实例使用远程API。同时,刷新每个实例中的缓存也是一项挑战。更好的方法是将数据存储在诸如Redis或Memcached之类的共享存储中,然后使用cron作业(例如,通过
where
gem)进行设置。Rails并不是真正为请求间缓存而设计的