我正在我的Flask应用程序中实现一个端点,它接收一组HTTP请求,并返回相应HTTP响应的集合.为了实现这一点,我需要我的端点调用其他端点以构造结果.但是,由于Flask在处理原始请求时阻塞,因此无法处理嵌套请求,并且应用程序会死锁.
有没有办法以不会导致死锁的方式在flask中的请求中发出请求?
我包含了我的一段代码,我认为应该足以说明问题,而不会让你感到压力.如果你想看到更多,请告诉我,我会分享.
from requests import Session, Request
def split(request):
multipart = request.stream.read()
boundary = request.content_type.split(';')[1]
prefix = ' boundary"'
suffix = '"'
delimiter = '--%s' % boundary[len(prefix)+1:-len(suffix)]
subrequests = [s.lstrip() for s in multipart.split(delimiter)]
for sub in subrequests:
status_line, _, more_lines = sub.partition('\n')
method, path, version = status_line.split()
headers, _, body = more_lines.partition('\n\n')
url = 'http://localhost:3000' + path
return Request(method, url, headers=headers, data=body)
@app.route('/batch', methods=["GET", "POST"])
def batch():
subrequests = split(request)
session = Session()
responses = []
for sub …Run Code Online (Sandbox Code Playgroud) array.sort() 在javascript中修改底层数组:
> a = [5,1,3]
[ 5, 1, 3 ]
> a.sort()
[ 1, 3, 5 ]
> a
[ 1, 3, 5 ]
>
Run Code Online (Sandbox Code Playgroud)
无论如何都要对数组进行排序,以便将排序后的版本作为副本返回.像这样?
> a = [5,1,3]
[ 5, 1, 3 ]
> b = a.some_function()
[ 1, 3, 5 ]
> a
[ 5, 1, 3 ]
> b
[ 1, 3, 5 ]
Run Code Online (Sandbox Code Playgroud) arrays ×1
flask ×1
javascript ×1
python ×1
python-2.7 ×1
sorting ×1
web-services ×1
webserver ×1