有时在Firebase函数的触发器中发生“错误:13内部:发生内部错误”

用户名

此触发器用于检测计划表中的序列是否已更新,并有助于更新计划表的概览状态和完成时间。

但是当发生内部错误时,它并不总是有效,如下所示:

Error: 13 INTERNAL: An internal error occurred. at Object.exports.createStatusError 
(/srv/node_modules/grpc/src/common.js:91:15) at Object.onReceiveStatus 
(/srv/node_modules/grpc/src/client_interceptors.js:1204:28) at InterceptingListener._callNext 
(/srv/node_modules/grpc/src/client_interceptors.js:568:42) at InterceptingListener.onReceiveStatus 
(/srv/node_modules/grpc/src/client_interceptors.js:618:8) at callback 
(/srv/node_modules/grpc/src/client_interceptors.js:845:24)

这是我的代码:

export const calc_status = function.firestore.document("users/{userid}/schedule/{scheduledid}").onUpdate(async (change, context) => {
    // before error occurred ...
    const data = change.after.data();
    let curStatus = data.status;
    ...
    ...

    // after getting occurred ...
    if(data.status !== curStatus ) {
        data.status = curStatus;
        if(curStatus === 'finished') {
            data.finish_time = new Date().toISOString();
        }
        if(curStatus !== 'expired'){
            data.update_time = data.expired_time;
            data.finish_time = data.expired_time;
        } else {
            data.update_time = new Date().toISOString();
        }
        await change.after.ref.update(data);
        return Status.SUCCEEDED;
    }
    return Status.SUCCEEDED;
}

我很困惑为什么会出现错误,因为此功能在大多数时候都能正常工作。

有没有人遇到和我一样的问题?

为什么会发生错误?那您的解决方案是什么?

谢谢。

大卫·埃文

这似乎是长期存在的框架错误github.com/firebase/firebase-functions/issues/536,目前尚未解决。

尽管您无法解决在冷启动时偶然且非常间歇地发生的错误,但是您可以通过在整个控制台上启用该功能的重试解决该问题,请参阅针对Firebase的重试云功能,直到获得成功的指示为止

这假定您可以很好地处理代码中的内部错误,并且会在发生任何错误时重试,但是在我的情况下,onCreate处理函数只是通过PubSub排队进行后续处理,因此任何失败均应重试。

2020年10月更新

从v3.11开始,firebase-functions您现在可以通过将功能设置failurePolicytrue

module.exports = functions.runWith({ failurePolicy: true }).firestore.document('collection/doc').onWrite(async (change, context) => {
  //do function stuff
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

qt:编译器中发生内部错误

来自分类Dev

函数在触发器内部返回错误值

来自分类Dev

查询主机监视器时发生内部错误

来自分类Dev

设置Laravel时发生内部服务器错误

来自分类Dev

UseDotNetNativeToolchain为true时发生内部编译器错误

来自分类Dev

设置Laravel时发生内部服务器错误

来自分类Dev

查询主机监视器时发生内部错误

来自分类Dev

GooglePlayServicesUtil发生内部错误

来自分类Dev

FirebaseException:发生内部错误

来自分类Dev

创建RunSpace时发生内部错误

来自分类Dev

AWS Lambda:函数已成功创建,但创建触发器时发生错误:无法读取未定义的属性“ includes”

来自分类Dev

Cakephp错误:发生内部错误

来自分类Dev

错误响应:[13]在Google Cloud SDK上部署项目时发生内部错误

来自分类Dev

#1064-在声明附近创建触发器时发生MySQL错误

来自分类Dev

尝试调用包装在Docker容器中的Azure函数时发生内部服务器错误(500)

来自分类Dev

GraphQL错误:访问graphQL时发生内部服务器错误

来自分类Dev

在触发器中执行的方法中发生异常时,日志不持久

来自分类Dev

cakephp分页显示错误:发生内部错误

来自分类Dev

BigQuery NEST()返回“错误:发生内部错误”

来自分类Dev

Google+登录错误“发生内部错误”

来自分类Dev

如果函数内部发生错误,则表单提交停止

来自分类Dev

在函数内部使用时发生变量未声明的错误

来自分类Dev

自定义模型 [MLKit] - FirebaseMLException:执行 Firebase ML 任务时发生内部错误

来自分类Dev

在以下过程中发生内部错误:“任务列表索引器”。对于输入字符串:“1 2”

来自分类Dev

从JSP调用Java方法时发生内部服务器错误

来自分类Dev

Cakephp-使用fileupload插件上传文件时发生内部服务器错误

来自分类Dev

使用流星定义允许/拒绝规则时发生内部服务器错误

来自分类Dev

贝宝:创建付款时发生内部服务器错误

来自分类Dev

访问apache2中的php页面时发生内部服务器错误

Related 相关文章

  1. 1

    qt:编译器中发生内部错误

  2. 2

    函数在触发器内部返回错误值

  3. 3

    查询主机监视器时发生内部错误

  4. 4

    设置Laravel时发生内部服务器错误

  5. 5

    UseDotNetNativeToolchain为true时发生内部编译器错误

  6. 6

    设置Laravel时发生内部服务器错误

  7. 7

    查询主机监视器时发生内部错误

  8. 8

    GooglePlayServicesUtil发生内部错误

  9. 9

    FirebaseException:发生内部错误

  10. 10

    创建RunSpace时发生内部错误

  11. 11

    AWS Lambda:函数已成功创建,但创建触发器时发生错误:无法读取未定义的属性“ includes”

  12. 12

    Cakephp错误:发生内部错误

  13. 13

    错误响应:[13]在Google Cloud SDK上部署项目时发生内部错误

  14. 14

    #1064-在声明附近创建触发器时发生MySQL错误

  15. 15

    尝试调用包装在Docker容器中的Azure函数时发生内部服务器错误(500)

  16. 16

    GraphQL错误:访问graphQL时发生内部服务器错误

  17. 17

    在触发器中执行的方法中发生异常时,日志不持久

  18. 18

    cakephp分页显示错误:发生内部错误

  19. 19

    BigQuery NEST()返回“错误:发生内部错误”

  20. 20

    Google+登录错误“发生内部错误”

  21. 21

    如果函数内部发生错误,则表单提交停止

  22. 22

    在函数内部使用时发生变量未声明的错误

  23. 23

    自定义模型 [MLKit] - FirebaseMLException:执行 Firebase ML 任务时发生内部错误

  24. 24

    在以下过程中发生内部错误:“任务列表索引器”。对于输入字符串:“1 2”

  25. 25

    从JSP调用Java方法时发生内部服务器错误

  26. 26

    Cakephp-使用fileupload插件上传文件时发生内部服务器错误

  27. 27

    使用流星定义允许/拒绝规则时发生内部服务器错误

  28. 28

    贝宝:创建付款时发生内部服务器错误

  29. 29

    访问apache2中的php页面时发生内部服务器错误

热门标签

归档