收藏
回答

云开发| -501001 resource system error 代表了什么?

编写了一个需要频繁查询数据库的云函数(一次运行大约查询读写 各5000次,运行时间30秒),遇到如下问题:在本地调试,频繁出现-501001错误;函数放在云端运行,一切正常。错误如下:

 -501001 resource system error | errMsg: collection.get:fail ESOCKETTIMEDOUT

请问这个错误是因为频繁查询导致本地调试器断线嘛?还是说在代码实现方面有什么效率瓶颈问题?


附上代码:
    for ( let j=0; j<data.length; j++){
      var openid = data[j]._id
      var history = data[j].read_history
      const tasks = []

      console.log (openid)
      //处理这个文章id数组
      for( let k=0; k<history.length; k++ ){
        let self = history[k]  
        let others = []

        history.forEach(element=>{
          if ( element !== self){
            others.push(element)
          }
        })

        if ( others.length === 0 ){
          continue
        }

        let relate = {}
        let isexist = await db.collection(ARTICLES_DYNAMIC_COLL).where({
          _id: self
        }).get()

        //新添加
        if ( isexist.data.length === 0){
          others.forEach( element=>{
            let str = `${element}`
            relate[str] = INC_ONE
          })
  
          res = await db.collection(ARTICLES_DYNAMIC_COLL).add({
            data: {
              _id:self,
              read_num: INC_ONE, 
              relate,
            }
          })
        }else if ( isexist.data.length === 1) {
          others.forEach( element=>{
            let str = `${element}`
            relate[str] = _.inc(INC_ONE)
          })
          
          res = db.collection(ARTICLES_DYNAMIC_COLL).doc(self).update({
            data: {
            read_num: _.inc(INC_ONE), 
            relate,
            }
          }) 

          tasks.push(res)
        }

回答关注问题邀请回答
收藏

1 个回答

  • 深圳老韩
    深圳老韩
    2021-08-18

    同问。

    2021-08-18
    有用
    回复 1
    • 雪线
      雪线
      2021-09-19
      通过我近期的排查,这个错误可能是因为网络阻塞了,尤其是云函数调用,很容易出现这个问题,解决方法就是降低并发
      2021-09-19
      1
      回复
登录 后发表内容
问题标签