使用渲染后如何停止控制器执行? (使用Ruby on Rails)

时间:2015-08-23 20:04:52

标签: ruby-on-rails ruby rubygems

我有这个方法:

 def index
  urls = parse_urls(params[:urls])

  responses = Parallel.map (urls) do |url|
    begin
     get url
    rescue  RestClient::Exception
      case params[:errors]
      when 'fail_any'
      render :json => fail_any
      when 'replace'
      replace
      else
      render :json => { :error => 'UNKNOWN_ERROR_TYPE'},status: 400
      end
       {:result=>'failed'}
    end
  end

但我想在渲染后停止控制器执行。 我尝试在渲染后添加break但是收到错误消息

并行:: DeadWorker

Marshal.load(读)       救援EOFError         提升DeadWorker       结束       如果ExceptionWrapper ===结果,则提高result.exception       结果

谢谢,乔尔

1 个答案:

答案 0 :(得分:-1)

通过使用线程而不是进程(默认选项)来解决问题

  responses = Parallel.map(urls, :in_threads => 3) do |url|