flask\werkzeug:拦截工作进程终止

2024-06-01 00:39:57 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法在关闭工作线程之前执行某些代码? 我对flask\werkzeug的执行模式不是太有信心,情况是:

在创建flask应用程序的过程中,我启动了一个deamon线程来处理一些外部事务(实际上是在等待队列);我将这个线程设置为demon,因为我不希望它在需要时阻止运行flask应用程序的工人关闭。 我的问题是:我需要在线程被worker终止之前执行一些清理代码,我的解决方案是对worker的终止事件(如果有)执行这些操作


Tags: 代码应用程序flask队列过程模式情况线程
1条回答
网友
1楼 · 发布于 2024-06-01 00:39:57

对于python,您可以使用uwsgi.ate退出挂钩。函数回调将在退出前执行。在

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

相关问题 更多 >