title: Python Flask shutdown event handler
body: <p>I'm using Flask as a REST endpoint which adds an application request to a queue. The queue is then consumed by a second thread. </p>
  
  <p><code>server.py</code></p>
  
  <pre><code>def get_application():
      global app
      app.debug = True
      app.queue = client.Agent()
      app.queue.start()                                                                                                                                                                                                                
      return app
  
  @app.route("/api/v1/test/", methods=["POST"])
  def test():
       if request.method == "POST":
          try:
             #add the request parameters to queue
             app.queue.add_to_queue(req)
          except Exception:
              return "All the parameters must be provided" , 400
       return "", 200
  
       return "Resource not found",404
  </code></pre>
  
  <p><code>client.py</code></p>
  
  <pre><code>class Agent(threading.Thread):
  
        def __init__(self):
            threading.Thread.__init__(self)
            self.active = True
            self.queue = Queue.Queue(0)
  
  
        def run(self):
             while self.active:
                req = self.queue.get()
                #do something
  
  
        def add_to_queue(self,request):
             self.queue.put(request)
  </code></pre>
  
  <p>Is there a shutdown event handler in flask so that I can cleanly shutdown the consumer thread whenever the flask app is shutdown (like when the apache service is restarted)?</p>