首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问线程Ruby中的模块

访问线程Ruby中的模块
EN

Stack Overflow用户
提问于 2019-12-04 21:14:40
回答 1查看 88关注 0票数 0

我有一个调用在线程内部运行的方法的服务。但是线程中的代码可以访问其他模块方法。当调用module方法时,线程会受到攻击。

服务:

代码语言:javascript
复制
  def place_order
    threads = []
    @responses = []
    order_params.each_with_index do |order, index|
      threads << Thread.new do
        @responses << Module1::Class1.place_order(order)
      end
   end
   threads.each &:join
  @responses
end

模块1::class1的place_order方法:

代码语言:javascript
复制
def place_order(options)
  order_params = { body: order_config(options).to_json }
  resp = make_request(:post, "/v3/order/", order_params).parsed_response
  Rails.logger.info "QWIK_CILVER::ORDERResponse:: #{resp.inspect}"
  ***The below code calls a method in different module which is not running******     
  Module2::SubModule1::Class1.parse(resp, self)
end

THe服务器挂起了,在那之后我甚至无法停止服务器。必须手动终止进程,然后重新启动服务器。如何在线程中调用Module2::SubModule1::class1的方法?

PS:如果我从控制台调用相同的服务,一切都会正常工作。但是如果我从postman调用,服务器会在模块方法调用点挂起。

EN

回答 1

Stack Overflow用户

发布于 2019-12-05 18:23:55

已跟踪问题。运行应用程序生产模式,相同的代码运行良好。在开发模式下,这是一个简单的类加载问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59176908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档