【问题标题】:Process long arrays in Cloud Functions在 Cloud Functions 中处理长数组
【发布时间】:2021-01-25 09:28:18
【问题描述】:

我正在开发一个让用户能够播放视频的应用程序。与许多社交网络一样,用户需要在有人上线时收到通知。为此,我使用Cloud Functions 并将必须接收通知的用户数组传递给函数;对于数组的每个用户,我需要从服务器中提取FCM TOKEN,然后发送通知。

对于 10 / 20 个用户的数组,函数不会花费这么长时间,但对于 150/300 个用户,有时我会超时或执行速度非常慢。

所以我的问题是:是否可以将数组分成 20/30 个用户组并同时处理多个数组??

谢谢

【问题讨论】:

    标签: node.js firebase push-notification google-cloud-functions


    【解决方案1】:

    有两种方法可以回答这个问题

    • 从开发的角度来看,一些语言更容易允许并发处理(Go 非常方便)。因此,像这样,由于您在 API 调用 (FCM) 上花费了大量时间,因此这是第一个同时执行多个调用的解决方案
    • 从架构的角度来看,PubSub 和/或 Cloud Task 是为此而精心设计的
      • 您的第一个函数仅创建要发送的消息块并将其发布到 Cloud Task 或 PubSub
      • 您的第二个函数接收块并发送消息。这些块在多个函数上并行处理。

    【讨论】:

      猜你喜欢
      • 2020-01-05
      • 2018-09-10
      • 2018-04-04
      • 1970-01-01
      • 1970-01-01
      • 2018-06-25
      • 2018-01-22
      • 2018-01-02
      • 2020-11-30
      相关资源
      最近更新 更多