如何理解云开发中数据库的并发连接?
发布于 7 年前 作者 zhanggang 3302 次浏览 来自 官方Issues

一次云函数调用过程中,是占用一次连接,还是占用多个连接?

如果是占用多个连接,哪些api会导致新的连接占用?

如下这段代码,在我的业务逻辑中调用了add方法100次,update方法1次,如果这些方法都会创建新的连接的话,那这个代码肯定无法执行,实际情况是它是几乎能稳定运行的。 但是偶然地碰到了跟连接相关的错误`Connection num overrun. Please improve specifications, but if the problem cannot be solved, contact us.`。 所以编写云函数,不知道哪种方式才算是好的。

  let no = batchItem.total
  const size = event.end - event.start
  for (let i = event.start; i < event.end; i++) {
    all.push(couponCollection.add({
      data: {
        batchId,
        status: 0,
        validStart: model.validStart,
        validEnd: model.validEnd,
        exchangedAt: null,
        createdAt: createdAt,
        no: ++no,
        exchangedUser: {
          realname: '',
          mobile: '',
          remark: ''
        }
      }
    }))
  }

  await Promise.all(all).then(() => {
    return batchCollection.doc(batchId).update({
      data: {
        total: _.inc(size)
      }
    })
  })
回到顶部