Python Flacon d'arrêt de gestionnaire d'événement

Je suis en utilisant le Flacon comme un point de terminaison REST qui ajoute la demande d'une application à une file d'attente. La file d'attente est ensuite consommée par un deuxième thread.

server.py

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

client.py

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)

Est-il un arrêt de gestionnaire d'événement dans le flacon afin que je puisse se fermer correctement le thread consommateur à chaque fois que le ballon est l'arrêt de l'application (par exemple, lorsque le service apache est redémarré)?

OriginalL'auteur Mark | 2015-06-09