找回密码
 立即注册

QQ登录

只需一步,快速开始

恒美恒美
金牌服务用户   /  发表于:2024-10-6 00:26  /   查看:568  /  回复:13
50金币



用http命令获取api的订单数据,比如一次获取1000条数据,api返回一次100条,需要翻页请求,我用循环命令做了一个循环翻页,但是每次循环到第五页第六页时就会出现一个超时的代码,整个循环就结束了,

如何能在判断返回码是code=200时正常循环, 如果code=201代表超时时, 把当前页再循环一遍或者多遍, 这个平台返回的接口会有这种问题,有时在第一页就会超时,有时第五六页会超时, 多请求2次就正常了

因为是获取一个时间段内的所有订单, 所以并不能在出现超时时跳过当前循环执行下一条循环,这样会出现漏单的情况,  只能说遇到超时,就不停地把当前页多请求几次
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

13 个回复

正序浏览
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-10-8 09:35:15
14#
感谢各位大佬的支持~
问题解决了就好,后边有问题欢迎您继续发帖交流
回复 使用道具 举报
恒美恒美
金牌服务用户   /  发表于:2024-10-7 13:53:44
13#
successit 发表于 2024-10-7 08:18
有没有想过把API请求的业务逻辑的单独抽出一个服务端命令A,正常执行时,通过这个服务端命令B去调用A,如 ...

感谢大佬的思路,搞定了
回复 使用道具 举报
server2021
高级会员   /  发表于:2024-10-6 13:34:41
11#
恒美恒美 发表于 2024-10-6 13:04
是这么个意思,这个重试怎么加呢,我翻了好久,没找到这个用什么办法加

循环里面套个循环就好了,第二个循环,按次数(比如最多10次),只要满足成功条件,就退出第二个循环。
回复 使用道具 举报
恒美恒美
金牌服务用户   /  发表于:2024-10-6 13:09:47
10#
胡 发表于 2024-10-6 08:57
获取当前循环次数,这个值重新放入循环,
避免死循环,这个值重新放入循环的次数也要判断下,实在获取不到 ...

是的,一般超时的多循环1-2遍就可以了,我的想法是超时就继续循环,次数最多10次,超过10次就终止循环,然后发送一个通知,手动处理
回复 使用道具 举报
恒美恒美
金牌服务用户   /  发表于:2024-10-6 13:05:29
9#
successit 发表于 2024-10-6 09:20
一看就会,超有用活字格技能:二百零七、循环命令中出错如何继续循环
https://gcdn.grapecity.com.cn/show ...

大佬,这个我看了,这个继续循环是跳过当前出错的循环执行下一条循环, 我想做的是重新循环出错的这一条
回复 使用道具 举报
恒美恒美
金牌服务用户   /  发表于:2024-10-6 13:04:19
8#
server2021 发表于 2024-10-6 11:44
按楼主的意思,循环里面加个重试应该就好了,大概思路是进到循环,执行,如果成功,继续n+1继续下一个,如 ...

是这么个意思,这个重试怎么加呢,我翻了好久,没找到这个用什么办法加
回复 使用道具 举报
server2021
高级会员   /  发表于:2024-10-6 11:44:30
7#
按楼主的意思,循环里面加个重试应该就好了,大概思路是进到循环,执行,如果成功,继续n+1继续下一个,如果失败,重试这个操作;
回复 使用道具 举报
successit悬赏达人认证
银牌会员   /  发表于:2024-10-6 09:20:34
6#
一看就会,超有用活字格技能:二百零七、循环命令中出错如何继续循环
https://gcdn.grapecity.com.cn/showtopic-226600-1-1.html
(出处: 葡萄城开发者社区)
回复 使用道具 举报
successit悬赏达人认证
银牌会员   /  发表于:2024-10-6 08:59:41
5#
楼主可以看看专题教程里有个循环出错如何继续循环的帖子
回复 使用道具 举报

高级会员   /  发表于:2024-10-6 08:57:37
4#
获取当前循环次数,这个值重新放入循环,
避免死循环,这个值重新放入循环的次数也要判断下,实在获取不到数据就要通知你手动操作,
如果经常需要手动操作就要换方案了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部