【发布时间】:2015-08-24 16:42:32
【问题描述】:
我使用 Flask 作为 REST 端点,它将应用程序请求添加到队列中。然后队列被第二个线程消耗。
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)
flask 中是否有一个关闭事件处理程序,以便我可以在 flask 应用程序关闭时(例如重新启动 apache 服务时)干净地关闭使用者线程?
【问题讨论】:
标签: python multithreading flask