Cloud Code功能运行两次

时间:2015-11-04 14:30:27

标签: javascript parse-platform cloud-code

我写了一个运行良好的云功能。

有时这个函数对同一个用户执行的时间超过一次(我确保只从客户端android应用程序请求了一个请求)。

经过一些调试后,我注意到如果连接错误会发生此问题。我可能是也可能不对。

如何克服这样的问题?

1 个答案:

答案 0 :(得分:1)

在评论中,我也不相信客户端SDK会在错误的连接上复制Cloud Function调用。预期的行为是他们在客户端抛出与网络相关的异常,而不是再次调用它。如果Cloud Function成功运行且客户端无法获得结果,则会出现问题。

我可以想到以下解决方案,没有关于云功能本身的更多细节:

  1. 尝试使函数具有幂等性 - 意味着即使它运行两次,最终结果也是相同的,假设输入/参数相同。

  2. 缓存结果并手动调整功能 - 这更复杂,只有在网络问题仍然存在且无法消除功能的副作用时才需要。您必须创建另一个类来缓存函数的结果(可能由参数键控)并返回相同的结果而没有计算和副作用。