代码之家  ›  专栏  ›  技术社区  ›  Ahmed Abdelmeged

Firebase Android云功能更改超时

  •  3
  • Ahmed Abdelmeged  · 技术社区  · 7 年前

    我在android上使用firebase云函数库,并使用gethttpscalable调用云函数。

    问题是函数需要15-20秒才能将结果返回给客户端,因此客户端抛出异常 java.net.SocketTimeoutException: timeout.

    有什么办法改变超时时间吗?

    3 回复  |  直到 7 年前
        1
  •  2
  •   bklimt    6 年前

    最新版本的sdk添加了 setTimeout withTimeout 方法,用于配置自定义超时。

    请参阅此处的文档: https://firebase.google.com/docs/reference/android/com/google/firebase/functions/HttpsCallableReference

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

        2
  •  2
  •   Doug Stevenson    7 年前

    目前无法更改客户端上的超时。团队意识到这在某些情况下是个问题。在这成为可配置的之前,您有两个选项,您最好的选项是编写一个常规的http函数,并使用您自己的http客户端库来配置超时。

    你可以 file a feature request 加入你的声音。

        3
  •  1
  •   Ido    6 年前

    似乎下面的文章是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云平台控制台进行编辑:

    1. 在google云平台控制台中,选择 云函数 从 左边的菜单。
    2. 在“函数”列表中单击函数名,选择函数。
    3. 单击 编辑 顶部菜单中的图标。
    4. 从标记为的下拉菜单中选择内存分配 记忆 分配 是的。
    5. 点击 更多 要显示高级选项,请输入 秒 超时 文本框。
    6. 点击 保存 更新函数。