开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 21074|回复: 14
收起左侧

[问答] 各位牛牛们,求一个e2ee设计后端接口的例子。

[复制链接]
结帖率:62% (26/42)
发表于 2020-12-22 09:08:26 | 显示全部楼层 |阅读模式   江苏省苏州市
使用e2ee练手,做了几个小工具web站。都成功了,从没想过有一天能这么轻松做web的东西。  但也遇到了一个问题。

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

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

想过队列处理请求获得的任务,但是怎么返回给前端呢?由于初次接触,请求大佬们给个指引或者例子。
结帖率:80% (12/15)
发表于 2020-12-26 18:27:05 | 显示全部楼层   山东省临沂市
比如 文件检测服务  
步骤1 提交文件   2开始检测  3检测完成
1到3之间可能需要30分钟
API设计
1 提交文件API  当场返回提交成功 和文件ID
2 通过提交文件ID 访问接口 开始检测  返回值为:提交成功!  然后这条检测记录存入数据库 状态为(检测中)
3 通过接口查询 用户的所有检测记录状态  是否完成
回复 支持 反对

使用道具 举报

结帖率:70% (7/10)

签到天数: 8 天

发表于 2020-12-22 11:11:05 | 显示全部楼层   上海市上海市
直接上WS 呗
回复 支持 反对

使用道具 举报

结帖率:82% (14/17)
发表于 2020-12-22 10:46:37 | 显示全部楼层   安徽省滁州市
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)

签到天数: 8 天

发表于 2020-12-22 10:43:16 | 显示全部楼层   柬埔寨
标识 insert into 线程池执行完毕 update set
回复 支持 反对

使用道具 举报

结帖率:96% (65/68)
发表于 2020-12-22 10:00:16 | 显示全部楼层   上海市上海市
萌新学e 发表于 2020-12-22 09:47
您好,您说的这个我理解了,然后前端轮询任务结果吗?通过什么方式轮询呢,ajax还是? ...

没必要轮询,就提示客户,大约需要30分钟,请稍后刷新任务状态
回复 支持 反对

使用道具 举报

结帖率:62% (26/42)
 楼主| 发表于 2020-12-22 09:47:24 | 显示全部楼层   江苏省苏州市
puti 发表于 2020-12-22 09:36
这种情况, 肯定需要数据库了, 比如接收了任务后, 就生成一个任务ID返回给客户端,让客户端通过任务ID查询 ...

您好,您说的这个我理解了,然后前端轮询任务结果吗?通过什么方式轮询呢,ajax还是?
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)
发表于 2020-12-22 09:44:59 | 显示全部楼层   广东省广州市
1、前端发起一个任务,然后后端接收到这个任务之后把要运行的参数保存下来,返回前端一个状态已经接收到任务,请过一段时间后再用查询网址查询
2、后端读取任务列表,有新任务就执行
3、后端完成之后把任务完成状态修改一下
4、前端再刷新获取的时候如果任务已经完成就开放任务对应的结果
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 7 天

发表于 2020-12-22 09:36:19 | 显示全部楼层   广东省广州市
这种用websocket比较好吧
回复 支持 反对

使用道具 举报

结帖率:96% (65/68)
发表于 2020-12-22 09:36:07 | 显示全部楼层   上海市上海市
萌新学e 发表于 2020-12-22 09:32
比如前端发过来一个任务, 后端接到任务可能要半个小时才能处理完,那这个处理过程肯定不能放在订阅函数 ...

这种情况, 肯定需要数据库了, 比如接收了任务后, 就生成一个任务ID返回给客户端,让客户端通过任务ID查询任务进行的状态

点评

这样处理就可以了。只不过你不能在路由中直接取写非常耗时的代码   山西省大同市  发表于 2020-12-22 10:26
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表