gpt4 book ai didi

python - 当服务器执行耗时操作时,您是否应该保留 HTTP 请求?还是放弃请求?

转载 作者:可可西里 更新时间:2023-11-01 16:52:41 27 4
gpt4 key购买 nike

假设一个操作可能需要 2 到 10 分钟才能在服务器上执行,例如更新一个非常耗时的索引。

你会在持有请求的同时执行操作吗?即在操作完成之前不发送 HTTP 响应?如果客户端/浏览器放弃请求,是否继续操作?

有什么选择?启动操作,响应“长时间操作启动”?如果操作中途失败,客户端怎么知道?维护服务器端“状态”的操作?

谢谢

最佳答案

您也可以使用分块响应。首先,推送一个带有一些代码的 block ,该 block 将显示“请稍候”屏幕,刷新响应并开始工作。然后,您可以使用定期进度更新推送和刷新 block ,或者只在末尾推送一个带有“已完成”信息的 block 。显然,您可以使用 JavaScript 来获得漂亮的 UI。

(如果您使用的是 WSGI,则以上内容不适用,因为第一个 WSGI 规范是以阻止使用未知长度的响应的方式编写的,因此不可能使用分块响应。)

关于python - 当服务器执行耗时操作时,您是否应该保留 HTTP 请求?还是放弃请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7587939/

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