在Python app

时间:2017-08-18 07:04:19

标签: python http

我是Python新手,想要构建一个可以接受一定数量HTTP请求的应用程序,然后继续解析这些请求并处理存储在正文中的数据。

我已经找到了很多关于REST API的教程以及创建无限期接受传入请求的服务器的方法,但是,启动这样的服务器然后在短时间内强制停止它似乎不是一个好习惯。时间。另外,我需要比较请求体内的数据以确定何时停止接受请求,并且我在使用Flask在请求处理程序调用之间存储数据时遇到了麻烦。

我的问题是:

在Python中接受HTTP请求的好习惯是什么,其中要接收的请求数量取决于每个请求体中的数据(这样当满足此要求时,程序可以停止接受连接并继续处理存储的请求数据)

2 个答案:

答案 0 :(得分:0)

试试这个 使用flask.g来存储您的请求计数器, http://flask.pocoo.org/docs/0.10/api/#flask.g

如果计数器达到上限,则关闭烧瓶 How to stop flask application without using ctrl-c

抱歉,我误解了,flask.g就像java中的ThreadLocal,请求之间有所不同。 在这种情况下,我认为简单的方法是使用模块变量

access_count = 0
def counter(func):
    def other_func(*args, **kwargs):
        global access_count
        access_count = access_count + 1
        return func(*args, **kwargs)
    return other_func

@counter
@app.route("/aaa")
def a():
    print "aa"
@counter
@app.route("/bbb")
def b():
    print "bb"

def main():
    a()
    b()
    print access_count

答案 1 :(得分:0)

如果您想存储数据,可以使用AJAX请求来执行此操作(same problems here

要在一定数量的HTTP请求后停止服务器,您需要一个计数器并使用flask函数手动关闭服务器(flask function to shutdown server)

希望它有用!

和平