Ufo666
V2EX  ›  问与答

关于定时拉取第三方接口数据到自己项目,菜鸟的一些问题。大佬进来看看

  •  
  •   Ufo666 · Oct 27, 2022 · 1465 views
    This topic created in 1374 days ago, the information mentioned may be changed or developed.

    家人们,现在有个需求。 需求:每两小时需要同步拉取一次第三方的订单记录。 原因:因为第三方这些数据只存半年,所以要拉到我们这里,项目经理后续要做统计分析。 接口:参数[开始时间戳,结束时间戳],返回[时间范围内所以订单的关键信息]。 问题: 1.前半年的数据需要手动查询,这个没问题。 2.定时任务每次的查询条件->时间范围,如何每次都精确到整点,因为定时任务也不是百分百整点? 3.服务遇故重启,会造成本次任务数据丢失。或者重启后->任务重复执行->导致数据重复,如何避免?

    6 replies    2022-10-27 15:28:43 +08:00
    Ufo666
        1
    Ufo666  
    OP
       Oct 27, 2022
    好家伙,我的提行怎么没了∑(っ°Д°;)っ
    wetalk
        2
    wetalk  
       Oct 27, 2022
    2 ,开始和截止时间,分别向前向后延伸一小段,规避,本地做幂等
    3 ,本质上和 2 的幂等问题一样
    hidemyself
        3
    hidemyself  
       Oct 27, 2022
    定时任务也不是一定要取当前时间,你可以维护一个列表,就保存已经拉取过的时间段
    重复那个,有唯一标识就用唯一标识,没有就对整体做一个 hash ,保证每次入库没有重复的就行了吧
    Ufo666
        4
    Ufo666  
    OP
       Oct 27, 2022
    感谢 2 楼 3 楼!懂了!
    menget
        5
    menget  
       Oct 27, 2022
    记录一个拉取成功的时间戳,这个时间戳和结束时间戳保持一致,作为下次拉取的开始时间戳。
    Ufo666
        6
    Ufo666  
    OP
       Oct 27, 2022
    @menget 哇,你这个太可以了!!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2743 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:45 · PVG 21:45 · LAX 06:45 · JFK 09:45
    ♥ Do have faith in what you're doing.