我正在使用 delayed jobs在我的 Rails 应用程序中。它工作正常,但生产服务器上出现问题。我在 lib 中创建了一个类,并从 Controller 调用它的方法以通过延迟作业生成一个 csv 文件。当我在本地和生产服务器上运行延迟作业时它工作正常,但后来我对此类进行了一些文件命名约定的更改,并在本地和生产服务器上重新启动了延迟作业。现在,当我通过延迟作业调用该方法时,它会根据我对类所做的最新更改工作,有时它会使用文件命名约定的旧逻辑。 可能是什么问题?
最佳答案
Delayed job 有一个隐藏的“功能”,它会忽略对您的应用的任何更改,只使用旧设置、环境变量、电子邮件模板等。您可以清除所有缓存并重新启动服务器,它仍然保存在应用程序代码库中不再存在的数据。
delayed_job - Performs not up to date code?
还要注意 DJ 的“重启”并不总是杀死并重启所有的工作人员,所以你需要找到他们并用
手动杀死他们ps aux | grep delay
参见:Rails + Delayed Job => email view template does not get updated
目前还没有找到“清除延迟作业缓存”的功能。如果存在,请有人将其张贴在这里。
关于ruby-on-rails - 清除生产中延迟作业中的工作缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27842907/