gpt4 book ai didi

Python Pyramid 增加请求超时

转载 作者:行者123 更新时间:2023-12-01 08:35:32 25 4
gpt4 key购买 nike

我正在开发 Python Pyramid我需要使用rest api,在其中一个请求中,我需要处理一个excel,对于它的每一行,我都会获取GPS坐标并进行大量验证,这意味着这个唯一的请求可能需要大约10分钟来处理,并且我需要返回一个使用 json 响应调用者。我无法通过 WebSocket 或其他任何方式发送它。

我的问题是:如何增加此请求的超时时间?这是我的方法:

@view_config(route_name='client_api_upload',
request_method='POST',
renderer='json',
permission='upload client')
def client_api_upload(request):

client_id = request.POST['client_id']
filename = request.POST['file'].filename
input_file = request.POST['file'].file
extension = os.path.splitext(filename)[1]
new_file_name = str(uuid.uuid4())+extension
file_path = os.path.join(tempfile.gettempdir(), new_file_name)

with open(file_path, 'wb') as output_file:
shutil.copyfileobj(input_file, output_file)

importer = ClientBuildingImporter(client_id=client_id, db_session=request.dbsession)
importer.import_building_from_excel(excel_file_path=file_path)

return importer.import_result

感谢您的帮助

最佳答案

我不认为是 Pyramid 关闭了连接,更可能是为您的应用程序提供服务的网络服务器(Apache/Nginx 等)。只要有必要, Pyramid 本身通常很乐意继续前进。

我同意@SamMason的观点,即有更好(但更复杂)的方法来正确执行长时间运行的任务,但在某些受控情况下,有一个进行大量处理的长时间运行的请求可能没问题。我有一些迁移/维护脚本,需要几个小时才能完成,但工作得很好。

让所有参与者(网络服务器、代理、浏览器等)满意的技巧是确保应用程序返回少量数据,不要让 HTTP 连接闲置。

不幸的是,对于 Pyramid,流请求并不完全简单,但有 some resources这可能会为您指明正确的方向。

关于Python Pyramid 增加请求超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53744751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com