精易论坛

标题: 各位牛牛们,求一个e2ee设计后端接口的例子。 [打印本页]

作者: 萌新学e    时间: 2020-12-22 09:08
标题: 各位牛牛们,求一个e2ee设计后端接口的例子。
使用e2ee练手,做了几个小工具web站。都成功了,从没想过有一天能这么轻松做web的东西。  但也遇到了一个问题。

现在做的小工具,都是请求来了之后能够秒处理返回的。  

而有些请求,需要后端处理一段时间后才能返回,那么针对这类接口,到底是如何设计这个api的呢? 刚接触,不是很懂这部分概念,

想过队列处理请求获得的任务,但是怎么返回给前端呢?由于初次接触,请求大佬们给个指引或者例子。

作者: 外星人群控    时间: 2020-12-22 09:18
我也才接触, 后端处理一段时间后, 该怎么理解?
作者: 萌新学e    时间: 2020-12-22 09:32
puti 发表于 2020-12-22 09:18
我也才接触, 后端处理一段时间后, 该怎么理解?

比如前端发过来一个任务, 后端接到任务可能要半个小时才能处理完,那这个处理过程肯定不能放在订阅函数里面把,不然前端就卡死了,这种是有什么解决方案呢
作者: 一剑磨十年    时间: 2020-12-22 09:36
萌新学e 发表于 2020-12-22 09:32
比如前端发过来一个任务, 后端接到任务可能要半个小时才能处理完,那这个处理过程肯定不能放在订阅函数 ...

返回给前端一个状态 ”处理中 预计XX分钟“   “处理完成”
作者: 外星人群控    时间: 2020-12-22 09:36
萌新学e 发表于 2020-12-22 09:32
比如前端发过来一个任务, 后端接到任务可能要半个小时才能处理完,那这个处理过程肯定不能放在订阅函数 ...

这种情况, 肯定需要数据库了, 比如接收了任务后, 就生成一个任务ID返回给客户端,让客户端通过任务ID查询任务进行的状态
作者: wt70y3    时间: 2020-12-22 09:36
这种用websocket比较好吧
作者: 七彩色工作室    时间: 2020-12-22 09:44
1、前端发起一个任务,然后后端接收到这个任务之后把要运行的参数保存下来,返回前端一个状态已经接收到任务,请过一段时间后再用查询网址查询
2、后端读取任务列表,有新任务就执行
3、后端完成之后把任务完成状态修改一下
4、前端再刷新获取的时候如果任务已经完成就开放任务对应的结果
作者: 萌新学e    时间: 2020-12-22 09:47
puti 发表于 2020-12-22 09:36
这种情况, 肯定需要数据库了, 比如接收了任务后, 就生成一个任务ID返回给客户端,让客户端通过任务ID查询 ...

您好,您说的这个我理解了,然后前端轮询任务结果吗?通过什么方式轮询呢,ajax还是?
作者: 外星人群控    时间: 2020-12-22 10:00
萌新学e 发表于 2020-12-22 09:47
您好,您说的这个我理解了,然后前端轮询任务结果吗?通过什么方式轮询呢,ajax还是? ...

没必要轮询,就提示客户,大约需要30分钟,请稍后刷新任务状态
作者: 616    时间: 2020-12-22 10:43
标识 insert into 线程池执行完毕 update set
作者: ds9660    时间: 2020-12-22 10:46
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14648419
作者: 骑驴牵马    时间: 2020-12-22 11:11
直接上WS 呗
作者: 宇轩One    时间: 2020-12-26 18:27
比如 文件检测服务  
步骤1 提交文件   2开始检测  3检测完成
1到3之间可能需要30分钟
API设计
1 提交文件API  当场返回提交成功 和文件ID
2 通过提交文件ID 访问接口 开始检测  返回值为:提交成功!  然后这条检测记录存入数据库 状态为(检测中)
3 通过接口查询 用户的所有检测记录状态  是否完成




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4