Firebase Android云功能更改超时

时间:2018-07-16 09:26:43

标签: android firebase google-cloud-functions

我正在使用Android上的Firebase Cloud Functions库,并使用getHttpsCallable调用云函数。

问题在于该函数需要15到20秒的时间才能将结果返回给客户端,因此客户端会引发异常java.net.SocketTimeoutException: timeout.

有什么方法可以更改超时时间吗?

3 个答案:

答案 0 :(得分:2)

当前无法更改客户端的超时。团队知道在某些情况下这是一个问题。在这变为可配置之前,您有两个选择,最好的选择是编写常规的HTTP函数,并使用自己的HTTP客户端库来允许配置超时。

您可以file a feature request添加声音。

答案 1 :(得分:1)

似乎下面的文章在10月25日更新。因此,他们那时可能已添加了此功能。不确定是否曾经有过。

正如article所说,我们现在可以描述超时和内存:

const runtimeOpts = {
  timeoutSeconds: 300,
  memory: '1GB'
}

exports.myStorageFunction = functions
  .runWith(runtimeOpts)
  .storage
  .object()
  .onFinalize((object) = > {
    // do some complicated things that take a lot of memory and time
  });

或者,直接通过Google Cloud Platform Console对其进行编辑:

  1. 在Google Cloud Platform控制台中,从中选择 Cloud Functions 左侧菜单。
  2. 通过在功能列表中单击功能名称来选择功能。
  3. 点击顶部菜单中的编辑图标。
  4. 从标有内存的下拉菜单中选择内存分配 已分配
  5. 点击更多以显示高级选项,然后输入一些 超时文本框中显示的秒数。
  6. 点击保存以更新功能。

答案 2 :(得分:1)

SDK的最新版本添加了setTimeoutwithTimeout方法,可用于配置自定义超时。

在此处查看文档: https://firebase.google.com/docs/reference/android/com/google/firebase/functions/HttpsCallableReference

发行说明: https://firebase.google.com/support/release-notes/android