flaskapp - два ресурса api в двух разных python скриптах - PullRequest
0 голосов
/ 05 августа 2020

У меня есть вариант использования, когда мне нужно запускать несколько сценариев python с одного сервера через flask.

script1.py как показано ниже

app = Flask(__name__)
api = Api(app)

class App(Resource):
   def post(self):
       resp = Response('successfully tested')
       return(resp)
        
api.add_resource(App, '/testapp')


if __name__ == "__main__":

    app.run(port=6000, host="0.0.0.0", use_reloader=True)

Аналогично script2.py равно

app = Flask(__name__)
api = Api(app)

class Test(Resource):
   def post(self):
   resp = Response('successfully tested')
   return(resp)
        
api.add_resource(Test, '/test')


if __name__ == "__main__":

    app.run(port=5000, host="0.0.0.0", use_reloader=True)

По отдельности, когда я выполняю обе работы, как ожидалось, http://0.0.0.0:5000/test и http://0.0.0.0:5000/testapp работают.

Но когда я настраиваю эти сценарии как службу и пытаюсь опубликовать URL-адреса один из них будет работать, а другой не работает.

Правильно ли я поступаю?

1 Ответ

1 голос
/ 05 августа 2020

Вы не можете этого сделать, так как сервер flask должен привязаться к порту [5000]. Вы должны запустить эти два сценария на другом порту, а затем вы можете использовать Nginx для их передачи через прокси на основе правил API. Примерно как показано ниже

https://serverfault.com/questions/650117/serving-multiple-proxy-endpoints-under-location-in-nginx Вы можете использовать любой другой обратный прокси-сервер, при этом вы не обязаны использовать Nginx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...