在不稳定的网络上使用谷歌API



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

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

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

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

我已经尝试过将它们分组为批处理请求,但谷歌不希望在一个批处理请求中出现多个日历上的事件。

我希望我的处境很清楚,有人能为我找到解决方案。

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新