【问题标题】:Working with google API on an unstable network在不稳定的网络上使用 google API
【发布时间】:2016-01-01 23:47:48
【问题描述】:

我编写了一个管理应用程序,它具有将一堆事件放在多个 Google 日历中的功能。

在我的电脑上一切正常。但是这个应用程序的主要用户有一个非常糟糕的网络连接。更准确地说,对不同服务器的 ping 在 23 毫秒到 2000 毫秒之间变化,并且数据包会丢失。

除了增加超时之外,我的方法是为每个 API 调用使用一个自己的线程,并在连接错误的情况下调用。

在这一点上,我陷入了困境。现在每个事件都已创建。不幸的是,不是一次,而是至少一次。所以有些事件被上传了多次。

我已经尝试将它们分组为批处理请求,但 google 不希望在单个批处理请求中包含多个日历上的事件。

我希望我的情况很清楚,有人可以为我解决。

【问题讨论】:

    标签: java network-programming google-api google-calendar-api


    【解决方案1】:

    我会首先尝试说服“主要用户”获得更好的网络连接。

    如果这是不可能的,我会将代码更改为具有以下逻辑:

      // Current version
      createEvent(parameters)
    
      // New version
      while (queryEvent(parameters) -> no event) {
          createEvent(parameters)
      }
    

    具有适当的超时和重试计数器。这个想法是实现一些额外的逻辑,以使日历中的事件的创建具有幂等性。 (这可能需要在客户端为每个事件生成一个唯一标识符,以便您可以可靠地查询事件。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      • 2018-03-23
      • 2015-07-03
      • 1970-01-01
      • 2020-02-21
      • 1970-01-01
      相关资源
      最近更新 更多