title: Blocking IO / Ruby on Rails
body: <p>I'm contemplating writing a web application with Rails. Each request made by the user will depend on an external API being called. This external API can randomly be very slow (2-3 seconds), and so obviously this would impact an individual request.</p>
  
  <p>During this time when the code is waiting for the external API to return, will further user requests be blocked?</p>
  
  <p>Just for further clarification as there seems to be some confusion, this is the model I'm anticipating:</p>
  
  <ol>
  <li>Alice makes request to my web app. To fulfill this, a call to API server A is made. API server A is slow and takes 3 seconds to complete.</li>
  <li>During this wait time when the Rails app is calling API server A, Bob makes a request which has to make a request to API server B.</li>
  </ol>
  
  <p>Is the Ruby (1.9.3) interpreter (or something in the Rails 3.x framework) going to block Bob's request, requiring him to wait until Alice's request is done?</p>