当uwsgi重启时,我如何才能在不延迟重启的情况下迅速清理旧的Python工作器中的资源? [英] When uwsgi is restarted, how can I tidy up resources in my old Python workers promptly and not delay the restart?

查看:59
本文介绍了当uwsgi重启时,我如何才能在不延迟重启的情况下迅速清理旧的Python工作器中的资源?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简单的Python uwsgi应用程序,它遵循基本模式:

def application(env, start_response):
    ... do something ...
    ... create some threads ...
    ... handover the work to the threads ...
    start_response('200 OK', [('Content-Type','text/html')])
    return result
我的系统管理员抱怨我的应用程序没有处理关机,每次他想要重新启动uwsgi服务时,他都必须等待uwsgi的超时来终止应用程序进程。显然,这可能需要长达30秒的时间,在这段时间内服务不可用。

当uwsgi想要关闭应用程序时,它是否会向应用程序发送特定的信号或调用?我该如何处理?

推荐答案

def goodbye():
    print "Goodbye from worker %d" % uwsgi.worker_id()

uwsgi.atexit = goodbye

this standard python module

这篇关于当uwsgi重启时,我如何才能在不延迟重启的情况下迅速清理旧的Python工作器中的资源?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆