为什么我需要在Ruby on Rails应用程序中 Package 线程?

jm81lzqq  于 2022-12-12  发布在  Ruby
关注(0)|答案(1)|浏览(82)

在我的RoR应用中,我正在编写一个API,需要在其中调用多个上游API,因此我计划并行调用它们以保存时间。在ruby-on-rails应用中实现多线程逻辑时,我希望遵循最佳实践。
RoR指南明确指出我们需要 Package 我们的代码,但它没有解释为什么它很重要。
从ruby-on-rails指南:
每个线程都应该在运行应用程序代码之前进行 Package ,因此如果应用程序手动将工作委托给其他线程(例如通过Thread.new或使用线程池的Concurrent Ruby特性),则应该立即 Package 该块

  • 我的应用运行Rails版本4。
  • 单个请求中的上游API调用数为3到30
  • 我检查了这个类似的SO post,但它没有提到任何关于wrapping线程化代码的内容。
liwlm1x9

liwlm1x91#

在执行器上 Package 线程可以确保卸载的常量不会出现任何问题......您不会看到如下错误

Unable to autoload constant User, expected ../user.rb to define it (LoadError).

相关问题