title: Convince Product Managers to Change Design of a Long Running Synchronous Process
body: <p>In our web application, we have a feature which:</p>
  
  <ol>
  <li>Gets a list of products</li>
  <li>Writes them to an excel file </li>
  <li>Returns the excel file to the user for download</li>
  </ol>
  
  <p>This process takes more often depending on the number of products > 2 minutes. Some requests take more than 5 minutes! On average users download 100-500 products and the request takes somewhere around 1 - 5 minutes. </p>
  
  <p>I think 1 minute is too long for any web server thread to be active on any single request. Aside from the fact that it takes so long, the process itself causes out of memory errors in our server and makes it crash.</p>
  
  <p>I would like to convince them that this is bad practice and hence the design must be changed by citing articles or books or studies written by software architects saying that this is so along with recommendations on what to do in this situation. </p>
  
  <p>Anyone know such books/articles/studies? </p>
  
  <p>If you disagree with me in the assumption that 1 minute is too long for any web server thread to be active on a single request, kindly let me know why. </p>