2014-04-01 29 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

哇!似乎工作謝謝你 –