0

我在运行 Apache 2 和 Ubuntu LTC 10.04 的 Slicehost 服务器上安装了一个 Rails 应用程序。到目前为止,一切都很顺利:我编辑一个文件,做一个快速的,所做mongrel_rails cluster::restart的更改会反映在生产中。然而,这个过程突然中断了。

例如,我有一个名为Master位于的类/lib/master.rb。我在这个类中添加了一个新方法,它只是运行puts "it works!",然后重新启动了 mongrel 集群。查看生产日志,服务器抛出错误,认为该方法不存在。但是,当我使用 进入控制台ruby script/console production时,我可以完美地使用这种新方法。我什至尝试删除包含整个Master班级的文件。再一次,生产认为它仍然存在,但生产控制台正确地识别出它丢失了。

有任何想法吗?生产环境如何检测一个甚至不再存在的类?

4

1 回答 1

1

有趣的是,我花了 2 个小时调试这个,然后发布到 StackOverflow 并在 20 分钟内弄清楚。

问题是我还需要重新启动我的后台作业。他们正在运行存储在 /lib 中的旧版本的类。有趣的是,这个问题以前从未困扰过我。

于 2010-06-25T01:23:08.673 回答