nginx + Flask:如何让它等到服务器准备就绪才能工作?

我正在尝试使用Nginx和flask制作REST-API。 问题是我不确定如何正确执行操作。我没有找到任何合适的指南。 我现在所拥有的: /etc/nginx/conf.d/myservice.conf:

upstream myapp1 {
least_conn;
    server 127.0.0.1:4100;
    server 127.0.0.1:4101;
    server 127.0.0.1:4102;
}

server {
    listen 1335;

    location / {
        proxy_pass http://myapp1;
    }
}

如果我正确理解它,它将捕获来自1335的请求并将其重新寻址到4101-4102。 minimum_conn应该使它的工作效率更高,对吗?我的主要要求是:如果所有服务器都在忙,Nginx应该稍等一下再试一次。如果这太复杂了,并且需要像Celery这样的东西,我可以使用:例如,用户应该获得418错误代码。

我的主要问题与flask应用有关。 我的代码api.py: 注意“状态”。我希望在应用程序运行中仅加载一次,而不是每次请求都加载一次。如果我在RAM中以3 * 6 = 18GB数据启动3个线程-对我来说没关系。

import everything_i_need
some_other_commands

app = flask(__name__)
app.url_map.strict_slashes = False

state = *some_code_here* #6GB of data. Model for a neural network.

@app.route('/api/v1/something/',methods=['POST'])
def do_it:
    request_str = request.get_data().decode('utf-8').strip()
    response = some_program.some_method(state,request_str)
    return response,200


if __name__ == '__main__':
    app.run(host='0.0.0.0',port=4100,threaded=True)
    app.run(host='0.0.0.0',port=4101,port=4102,threaded=True)

我很确定自己做的事情完全错了。有没有正确的方法来创建N个“状态”实例和N个端口?

我将api.py称为服务(为此我有一个systemd配置)。

weilili123 回答:nginx + Flask:如何让它等到服务器准备就绪才能工作?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3151985.html

大家都在问