python - 有没有办法在网页上显示功能活动
问题描述
我正在开发一个烧瓶 Web 应用程序,其中一个函数正在列表上执行某些任务。现在在遍历列表并对列表中的每个元素进行一些操作之后,将呈现一个新页面。但是对每个元素执行的操作需要一些时间。因此,我想在调用该函数的同一网页上显示输出,同时该函数正在运行,因为哪些元素操作已完成。完成后只加载新页面。请给我一些想法,我该怎么做。
解决方案
执行此操作的典型方法是拥有这 2 个 API
- 接受请求、开始处理并返回 Http 状态代码的“作业接受者”POST API
202(Accepted)
。响应包含一个 URL,您可以点击该 URL 以获取应用程序的状态 - 一个“状态轮询器”API,您可以对其执行 GET 以获取列表上操作的状态。UI 可以根据返回的状态显示进度。
请注意,状态可以是抽象的“进行中”到具体的“92% 完成”。在内部,第二个 API 有一种方法可以获取列表上操作的进度量
参考 https://restfulapi.net/http-status-202-accepted/
引用上述链接中的相关位
如果您向 REST API 提交了一个长时间运行的异步作业,那么 API 可以返回如下结果:
HTTP 状态 202(已接受)
{
"task": {
"href": "/api/company/job-management/jobs/2130040",
"id": "2130040"
}
}
现在用户代理可以定期向 URI /api/company/job-management/jobs/2130040 发送 HTTP GET 请求以获取作业的完成状态。上述 API 的响应将告知实际调度操作的当前状态。
推荐阅读
- powershell - 使用 powershell 脚本重命名主机名
- amazon-s3 - 如何使用 Amazon S3 静态网站启用 AB 部署
- reactjs - React - InfiniteScroll(react-infinite-scroller), loadMore 函数重新渲染整个列表
- c# - 在类 c# 中为多个数组使用索引器
- flutter - 打开键盘会导致有状态小部件重新初始化
- c# - 如何使用 WCF 服务的代理实现读取类库中的 System.serviceModel
- angular - 在使用 Bootstrap 的模板中,如何将数组拆分为两列?
- python-3.x - 为什么我在使用 aiohttp 模块时必须使用 async with?
- api - 如何追加或组合 2 []array golang beego
- android - 如何在 Firebase 项目中授予应用级访问权限