在服务器启动时运行一些代码

时间:2015-01-22 22:04:57

标签: ruby-on-rails-3 ruby-on-rails-4 server boot

我有一些代码我想运行一些数据结构,并将结果提供给一个或多个控制器。

数据和转换过程基本上是硬编码的,因此输出对于服务器的整个正常运行时间将是相同的(但是大到足以在每次转换时施加多秒的处理时间)。

我的问题是,在rails中,哪里是调用此代码的最佳位置,以及将结果提供给所有控制器的最佳方法?结果数据结构是只读的,因此我不担心多个线程访问数据(即:您可以将其视为哈希,数组和简单的线程安全对象的哈希)。

由于结果基本上是静态的,因此将网络资源和处理时间放在数据库中似乎很浪费,所以我想知道最好的方法是将这个数据对象设置在服务器内并且可用于所有控制器?

如果这是进入一个繁重的生产系统,我有一个后端工作生成数据并将其粘贴在一些缓存服务器(memcache,内存中redis等),但对于较小的项目,我我想知道是否有办法这样做而不需要将其外部存储到rails服务器本身或每次控制器连接它时重建数据对象。

这个问题是基于我在前几年用不同的开发语言解决的一个问题,并且很好奇如何在rails 3/4世界中处理它。

0 个答案:

没有答案