我是Python新手,想要构建一个可以接受一定数量HTTP请求的应用程序,然后继续解析这些请求并处理存储在正文中的数据。
我已经找到了很多关于REST API的教程以及创建无限期接受传入请求的服务器的方法,但是,启动这样的服务器然后在短时间内强制停止它似乎不是一个好习惯。时间。另外,我需要比较请求体内的数据以确定何时停止接受请求,并且我在使用Flask在请求处理程序调用之间存储数据时遇到了麻烦。
我的问题是:
在Python中接受HTTP请求的好习惯是什么,其中要接收的请求数量取决于每个请求体中的数据(这样当满足此要求时,程序可以停止接受连接并继续处理存储的请求数据)
答案 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)
希望它有用!
和平