2014-04-01 31 views
0

在关闭工作人员之前是否有任何方法来执行某些代码? 我不是烧瓶\ WERKZEUG的执行模式过于自信,情况是这样的:flask werkzeug:拦截工作人员终止

在创建烧瓶应用的我开始一个守护进程线程做一些外部的东西(在队列中等待本质上);我将这个线程设置为恶魔,因为我不希望它阻止工作人员在需要时运行烧瓶应用程序的关闭。 有我的问题:我需要的只是其被杀害的工人线程之前执行一些清理代码,我的解决办法是做一个终止事件的操作(如果有的话)的工人

+1

工作人员被击毙是WSGI服务器的一项功能,而不是Flask/Werkzeug控制的功能。 –

回答

0

的使用Python您可以使用uwsgi.atexit钩子。退出前将执行功能回调

import uwsgi, os 
from flask import Flask 
app = Flask('demo') 

@app.route('/') 
def index(): 
    return "Hello World" 

def callback(): 
    print "Worker %i exinting" % os.getpid() 
uwsgi.atexit = callback 
+0

哇!似乎工作谢谢你 –