前景提要
请求任务思路。。
0 悬赏园豆: 20 [待解决问题] 我的需求是这样的。
我要请求第三方接口,每天9:00到23:00 ,理论上是20分钟第三方会产生一次数据,我要拿一次数据。。但是实际情况是 接口数据会延迟3-5分钟。。也就是我9:23-9:25 能拿到数据。
另外,我还需要保证拿到的数据唯一的。。不能重复请求。。
这个任务我怎么写呢??
请各位大佬给点思路。
我要做一个对接彩票接口。。
彩票是准时20分钟出一次数据的,,但是第三方机构需要延迟3分钟左右能拿到数据。。所以我得等到第三方拿到数据,我才能从第三方拿数据。。。 a我不能一直循环请求,然后判断每期彩票是否拿到。。因为接口很贵的。。。。 五百万 | 初学一级 | 园豆: 117
提问于:2020-08-12 14:40 显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
< > 分享
分享您的问题
所有回答(7) 0 没太看明白问题在哪?你每20分钟请求一次不行吗? 会长 | 园豆:8280 (大侠五级) | 2020-08-12 14:55 彩票。。我肯定需要尽量的能拿到实时数据啊。。这样用户才可以参考本次数据对下次数据进行评测 看买什么号码啊。 支持( 0 ) 反对( 0 ) 五百万 | 园豆:117 (初学一级) | 2020-08-12 15:02 @五百万: 那你就从9:24开始,每20分钟查询一次吧,如果第三方接口稳定的话。如果第三方接口有延迟的概率,那么第一次没有访问到后,再过1分钟再查,还没有,再过一分钟再查,直到查到为止,然后再恢复20分钟查一次的频率 支持( 0 ) 反对( 0 ) 会长 | 园豆:8280 (大侠五级) | 2020-08-12 15:07 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 不能重复请求就按照最坏情况。 9:20 就 9:25 拿,9:40,就 9:45。
添加一张 任务表,Task(Id,ExecuteTime,IsExecued....)等等字段,每天可以分次,或者一次性生成所有任务,定时遍历任务,取出需要执行的任务。执行完,更新任务记录。 flyfishing | 园豆:329 (菜鸟二级) | 2020-08-12 14:56 彩票。。我肯定需要尽量的能拿到实时数据啊。。
这样用户才可以参考本次数据对下次数据进行评测 看买什么号码啊。
但是您说的也是一种思路。 支持( 0 ) 反对( 0 ) 五百万 | 园豆:117 (初学一级) | 2020-08-12 15:03 @五百万: 你的想法有些奇怪,想实时,还不想多查询,这是冲突的。想实时的话,就要求尽量早获取,你又说不稳定,就只能在尽量早的基础上加上误差时间。例如 9:20 就 9:23 去取,查不到,等一分钟(你自己定),然后再去获取,直到查到数据(或者配置一个最大重试次数)。然后等下个执行时间点。 支持( 0 ) 反对( 0 ) flyfishing | 园豆:329 (菜鸟二级) | 2020-08-12 15:31 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 2 你都延遲3-5分鐘了,又捨不錢,還談什麼即時... RosonJ | 园豆:3627 (老鸟四级) | 2020-08-12 15:07 又来和我抢豆? 支持( 0 ) 反对( 0 ) 会长 | 园豆:8280 (大侠五级) | 2020-08-12 15:17 @会长:
我來賺2豆就走 支持( 0 ) 反对( 0 ) RosonJ | 园豆:3627 (老鸟四级) | 2020-08-12 15:24 这3-5分钟是第三方的延迟,,全国都一样。
不是不舍得花钱,但是不能因为程序不严禁,花冤枉钱不是
。 支持( 0 ) 反对( 0 ) 五百万 | 园豆:117 (初学一级) | 2020-08-12 20:08 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 bool Fetch(Result result)
void OnTickTask()//异步自行补充,然后定时到指定时间,来执行一次
{
for()
{
if(Fetch())break;
Thread.Sleep(0);//随便搞,反正不是自己服务器
}
} 花飘水流兮 | 园豆:11049 (专家六级) | 2020-08-13 10:55 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 可以设置定时任务 每分钟执行 然后每间隔20分钟调用接口(例如知道有延迟可以设定 23 下一次43)。如果获取失败则每分钟都会去调用一下 设置一个参数 到23/43/03 为true。如果调用成功则改为false true 才调用接口 这样就实现每20分钟调用一次。调用失败后每分钟都会去调用 xiyanya | 园豆:264 (菜鸟二级) | 2020-08-13 16:40 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 用定时任务去请求一次 糖果小宝~ | 园豆:63 (初学一级) | 2020-08-14 08:55 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 做彩票接口我熟.就是定时任务,然后第一步是计算当前要获取的期数.
然后循环获取开奖结果.直到返回的期数等于要的期数. 吴瑞祥 | 园豆:28830 (高人七级) | 2020-08-16 02:32 编辑文本 预览 上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要 登录 以后才能回答,未注册用户请先 注册 。