linnian
linnian
  • 发布:2020-10-28 22:42
  • 更新:2021-02-08 09:59
  • 阅读:698

【报Bug】hx升级到2.9.5后,有时访问云函数报错

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

预期结果:

实际结果:

bug描述:

云函数错误提示如下,时有时无的发生 .
502:{"errorMessage":"Process exited unexpectedly before completing request (duration: 22ms, maxMemoryUsage: 45.15MB)"}

2020-10-28 22:42 负责人:DCloud_uniCloud_WYQ 分享
已邀请:
MonikaChen

MonikaChen

alpha版多多少少有bug,还是用2.9.3吧

  • linnian (作者)

    额,好像旧版也有问题了,难道是因为新增的clientdb导致的?

    2020-10-28 23:31

4***@qq.com

4***@qq.com - 方脑壳

我也是这个情况,一模一样....

  • linnian (作者)

    猜测是因为clientdb注入到云函数导致的问题。然后因为新版已经注入了,旧版也受到了影响。

    2020-10-29 10:14

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

重新部署一下云函数再试试还会不会偶发上面的问题

  • linnian (作者)

    云函数没有打印报错信息(应该是正常返回了,但是code不是0),分不太清,等再出现时定位下

    还发现了一个错误,也是有时会出现


    Error: socket hang up  
    at createHangUpError (_http_client.js:331:15)
    at TLSSocket.socketOnEnd (_http_client.js:423:23)
    at emitNone (events.js:111:20)
    at TLSSocket.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1056:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)

    2020-10-29 13:59

  • linnian (作者)

    socket hang up的报错:

    RequestID ac1407b81603900566658411974

    2020-10-29 14:01

  • DCloud_uniCloud_WYQ

    回复 linnian: 你这是重新部署之后还会出这个错误?

    2020-10-30 11:51

1***@163.com

1***@163.com

我也是,我用的云函数url化,调用时候有时候就会502:{"errorMessage":"Process exited unexpectedly before completing request,我是3.1.2 alpha版本

  • DCloud_uniCloud_WYQ

    你云函数里面怎么写的

    2021-02-18 11:15

  • LikeU恋爱交友

    回复 DCloud_uniCloud_WYQ: 我也遇到这个问题


    [pay_baidu/ac140d3c1616042554825556474/1579ms/ERROR] errCode: FunctionCommonError | errMsg: 502:{"errorMessage":"Process exited unexpectedly before completing request (duration: 3ms, maxMemoryUsage: 41.96MB)"}

    Error: errCode: FunctionCommonError | errMsg: 502:{"errorMessage":"Process exited unexpectedly before completing request (duration: 3ms, maxMemoryUsage: 41.96MB)"}

    at e.$scope.function.invoke.then.catch.e (/tmp/function/@dcloudio/serverless/lib/aliyun/uni-cloud.js:1:48840)

    at <anonymous>

    at process._tickCallback (internal/process/next_tick.js:188:7)

    请求响应状态: fail


    云函数 调用了 另一个 连接 mysql 的云函数插件 var connection = mysql.createConnection({


    https://ext.dcloud.net.cn/plugin?id=1925

    云函数连接Mysql数据库示例

    2021-03-18 12:47

  • DCloud_uniCloud_WYQ

    回复 LikeU恋爱交友: 你另一个云函数是不是连接一直没关闭

    2021-03-19 16:44

  • LikeU恋爱交友

    回复 DCloud_uniCloud_WYQ: 另一个 云函数 关闭连接了


    //关闭连接

    connection.end();

    2021-03-19 16:58

  • DCloud_uniCloud_WYQ

    回复 LikeU恋爱交友: 完整的代码发一下,可以新开帖子

    2021-03-19 17:22

  • LikeU恋爱交友

    回复 DCloud_uniCloud_WYQ: https://ask.dcloud.net.cn/question/119249

    2021-03-19 18:36

  • LikeU恋爱交友

    回复 DCloud_uniCloud_WYQ: 可能跟 这个问题有关,


    我也遇到这个问题:


    “Cannot enqueue Query after invoking quit”


    请问 怎么改 插件的 代码 参考:解决方法: https://forums.aws.amazon.com/thread.jspa?threadID=223230


    const query = function(sql, values) { return new Promise((resolve, reject) => { connection.query(sql, values, (error, results, fields) => { if (error) { reject(error) } else { resolve(results) } }) }) }


    //This is your handler. exports.handler=function(event, context) { //This is declared inside the handler: it is guaranteed to never be reused!. var connection=function_that_gets_your_connection();


    //Do things with your connection.

    var query_string='SELECT something FROM nothing WHERE value=?';


    connection.query(query_string, [beware], function(res, err){


    //Check for errors, disconnect and exit with failure.

    if(err){

    console.log("Query failed", err);

    connection.end(function(err){

    context.fail(0);

    });

    }

    //Disconnect and exit with success.

    else{

    connection.end(function(err){


        if(err){    
    console.log("Warning: disconnection failed"; err);
    }

    context.succeed(res);
    });

    }

    });

    }


    diamont1001@163.com

    2020-08-01


    query 这个方法有点问题:


    另外,我遇到了一个问题,50%的机率会报这个错“Cannot enqueue Query after invoking quit”,解决方法: https://forums.aws.amazon.com/thread.jspa?threadID=223230

    2021-03-19 21:53

该问题目前已经被锁定, 无法添加新回复