在第一次请求之前使用bottle / Uwsgi / nginx执行工作

时间:2018-01-04 03:53:11

标签: python uwsgi bottle

我有一个使用UWSGI和Nginx运行的瓶子web服务器。通常,如果我使用

手动启动脚本
python app.py

我能够做到

if __name__ == '__main__':
    spawn_workers()
    init_workspace()
    run(app, host='0.0.0.0', port=8080)

问题是,在使用UWSGI时,它不会运行if __name__ == '__main__'部分,因为它只会抓取app = application = bottle.Bottle()部分。这意味着我在网络服务器启动之前就没有机会产生后台工作者。

有什么方法可以解决这个问题?我看到那个烧瓶有一个app.before_first_request功能,但我找不到任何与瓶子相应的功能。

1 个答案:

答案 0 :(得分:2)

仅仅在app.py中执行初始化是不够的?如,

# app.py
spawn_workers()
init_workspace()

app = Bottle()