社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

是否可以在现有应用程序中嵌入python rest api?

Anthony • 5 年前 • 1475 次点击  

我正在尝试扩展现有的python 3应用程序,以包含rest api。我已经搜索了几天,试图找出如何使rest api成为现有应用程序的子组件,但是我在flask、eve等方面找到的指南并没有说明如何运行生产api,除非api应用程序本身是直接运行的。

我已经成功地将flask rest api添加到我的应用程序中,它按预期响应。然而,至少据开发人员说,它的运行方式是不受支持的,而且据称是不安全的。当我运行应用程序时,会生成一条警告消息,建议我改用wsgi服务器:

 * Serving Flask app "api" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off

不可否认,我对此还不太熟悉,所以我不确定这意味着什么,也不知道它在我的情况下是否会起作用。实际上,我正试图做到这一点:

import api as API

class Stuff(object):

  def setup(self):
    ...
    self.apiThread = API(...)

  def run(self):
    ...
    self.apiThread.start()  

该应用程序是大型的、复杂的、成熟的和稳定的,所以我不能和/或不知道如何使它作为api应用程序的子组件工作,比如 this :

from werkzeug.wrappers import Request, Response

@Request.application
def application(request):
    return Response('Hello, World!')

if __name__ == '__main__':
    from werkzeug.serving import run_simple
    run_simple('localhost', 4000, application)

我见过这样的导游 this 这在某种程度上帮助我理解了web服务器的本质,但我还找不到一个对我有意义的生产解决方案。我是否应该实现一个类 page 2 然后在一个线程中实例化它,如我在示例中所示 Stuff 班级?那能正常工作吗?还是我还缺什么?

任何指导都将不胜感激。

编辑: gunicorn 对于许多用例来说,建议似乎是常见且正确的——可能包括我的——但是我还不明白为什么。关于 喷枪 佩奇在第一行这样说:

If you want to deploy your Flask application to a WSGI server...

我已经卡住了,因为我还没有建立一个烧瓶应用程序。我在一个线程中运行一个flask服务器,作为一个更大的应用程序的一个非常小的部分。可以这么说,我不明白该怎么扭转局面。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/42926
 
1475 次点击  
文章 [ 2 ]  |  最新文章 5 年前