我想知道为什么每次更新模型文件都需要重启服务器(Mongrel/WEBrick)?我知道如果你不这样做,它不会被加载--但是有没有什么文档可以解释为什么它会这样做呢?
谢谢!
发布于 2009-11-26 12:47:53
如果更改模型,开发环境不需要重新启动服务器。如果需要,它们将为每个请求重新加载环境。
生产环境则是另一回事。在生产环境中运行的Rails服务器(mongrel/passenger/webrick/etc)只会在进程启动时加载一次Rails环境。这需要几秒钟的时间,正如您在启动控制台时可能会注意到的那样,控制台也会加载您的Rails环境。为了避免每个请求的这种开销,服务器将从已加载的环境中产生一个新线程来处理每个传入的请求。
因为服务器只响应HTTP请求和通常的信号。除了总是加载一个新的环境(如开发环境,或重新启动服务器)之外,没有什么好方法可以强制重新加载环境。
https://stackoverflow.com/questions/1801535
复制相似问题