Rails - LoadError(预期xxx / controllers / application_controller.rb定义ApplicationController)

时间:2016-11-12 09:31:32

标签: ruby-on-rails ruby nginx amazon-ec2

我在AWS上构建了一个后端服务(nginx + passenger + rails)。 我的服务大部分时间都在按预期运行,但是当乘客创建一个奇怪的新流程来处理请求时,有时会出错:

[INFO] Started POST "/apixxxxxx"
[FATAL] LoadError (Expected /xxxxxxxx/app/controllers/application_controller.rb to define ApplicationController):
[INFO] Started POST "/apixxxxxx"
[FATAL] ActionController::RoutingError (uninitialized constant ApplicationController):
[INFO] Started POST "/apioooooo"
[FATAL] ActionController::RoutingError (uninitialized constant ApplicationController):
...

在这个奇怪的过程中有一些签名:

  • 当这个特殊的怪异ruby进程在每次新请求中都失败时,其他ruby进程仍然可以正常工作。
  • 如果发生错误,它始终以流程第一次请求开头的“LoadError”开头。
  • 只要此过程存活,这种“未初始化的常量”错误就会永远存在。

*新添加的信息

  • 根据rails log,同样的api可以在其他“正常”的乘客过程中无错误地回复。我排除了关于拼写错误或rails命名约定的问题。

以下是我的机器的一些信息:

  • ec2 type:m4.large
  • 存储:通用SSD(使用EBS)
  • system:ubuntu 14.04.2(非AWS版本)
  • 申请:版本1.8.1,乘客5.0.26,Rails 3.2.22.2,ruby 2.2.4p230,sidekiq 4.1.1

我还使用此LoadError问题搜索了一些关键字,如“AWS EBS卷的IOPS限制”或“sidekiq线程”,但没有运气。是否有任何新的方向来调查这个问题?

0 个答案:

没有答案