首页 新闻 会员 周边

请求任务思路。。

0
悬赏园豆:20 [待解决问题]

我的需求是这样的。
我要请求第三方接口,每天9:00到23:00 ,理论上是20分钟第三方会产生一次数据,我要拿一次数据。。但是实际情况是 接口数据会延迟3-5分钟。。也就是我9:23-9:25 能拿到数据。
另外,我还需要保证拿到的数据唯一的。。不能重复请求。。

这个任务我怎么写呢??

请各位大佬给点思路。

我要做一个对接彩票接口。。
彩票是准时20分钟出一次数据的,,但是第三方机构需要延迟3分钟左右能拿到数据。。所以我得等到第三方拿到数据,我才能从第三方拿数据。。。 a我不能一直循环请求,然后判断每期彩票是否拿到。。因为接口很贵的。。。。

五百万的主页 五百万 | 初学一级 | 园豆:33
提问于:2020-08-12 14:40
< >
分享
所有回答(7)
0

没太看明白问题在哪?你每20分钟请求一次不行吗?

会长 | 园豆:12401 (专家六级) | 2020-08-12 14:55

彩票。。我肯定需要尽量的能拿到实时数据啊。。这样用户才可以参考本次数据对下次数据进行评测 看买什么号码啊。

支持(0) 反对(0) 五百万 | 园豆:33 (初学一级) | 2020-08-12 15:02

@五百万: 那你就从9:24开始,每20分钟查询一次吧,如果第三方接口稳定的话。如果第三方接口有延迟的概率,那么第一次没有访问到后,再过1分钟再查,还没有,再过一分钟再查,直到查到为止,然后再恢复20分钟查一次的频率

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2020-08-12 15:07
0

不能重复请求就按照最坏情况。 9:20 就 9:25 拿,9:40,就 9:45。
添加一张 任务表,Task(Id,ExecuteTime,IsExecued....)等等字段,每天可以分次,或者一次性生成所有任务,定时遍历任务,取出需要执行的任务。执行完,更新任务记录。

flyfishing | 园豆:943 (小虾三级) | 2020-08-12 14:56

彩票。。我肯定需要尽量的能拿到实时数据啊。。
这样用户才可以参考本次数据对下次数据进行评测 看买什么号码啊。

但是您说的也是一种思路。

支持(0) 反对(0) 五百万 | 园豆:33 (初学一级) | 2020-08-12 15:03

@五百万: 你的想法有些奇怪,想实时,还不想多查询,这是冲突的。想实时的话,就要求尽量早获取,你又说不稳定,就只能在尽量早的基础上加上误差时间。例如 9:20 就 9:23 去取,查不到,等一分钟(你自己定),然后再去获取,直到查到数据(或者配置一个最大重试次数)。然后等下个执行时间点。

支持(0) 反对(0) flyfishing | 园豆:943 (小虾三级) | 2020-08-12 15:31
2

你都延遲3-5分鐘了,又捨不錢,還談什麼即時...

RosonJ | 园豆:4910 (老鸟四级) | 2020-08-12 15:07

又来和我抢豆?

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2020-08-12 15:17

@会长:
我來賺2豆就走

支持(0) 反对(0) RosonJ | 园豆:4910 (老鸟四级) | 2020-08-12 15:24

这3-5分钟是第三方的延迟,,全国都一样。
不是不舍得花钱,但是不能因为程序不严禁,花冤枉钱不是

支持(0) 反对(0) 五百万 | 园豆:33 (初学一级) | 2020-08-12 20:08
0

bool Fetch(Result result)

void OnTickTask()//异步自行补充,然后定时到指定时间,来执行一次

{

for()

{

if(Fetch())break;

Thread.Sleep(0);//随便搞,反正不是自己服务器

}

}

花飘水流兮 | 园豆:13560 (专家六级) | 2020-08-13 10:55
0

可以设置定时任务 每分钟执行 然后每间隔20分钟调用接口(例如知道有延迟可以设定 23 下一次43)。如果获取失败则每分钟都会去调用一下 设置一个参数 到23/43/03 为true。如果调用成功则改为false true 才调用接口 这样就实现每20分钟调用一次。调用失败后每分钟都会去调用

xiyanya | 园豆:327 (菜鸟二级) | 2020-08-13 16:40
0

用定时任务去请求一次

it写代码 | 园豆:73 (初学一级) | 2020-08-14 08:55
0

做彩票接口我熟.就是定时任务,然后第一步是计算当前要获取的期数.
然后循环获取开奖结果.直到返回的期数等于要的期数.

吴瑞祥 | 园豆:29449 (高人七级) | 2020-08-16 02:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册