【问题标题】:Node Lambda timing out firebase-admin SDK节点 Lambda 超时 firebase-admin SDK
【发布时间】:2021-06-04 22:57:36
【问题描述】:

我正在尝试通过 Firebase Cloud Messaging 从 AWS 中的节点 js lambda 发送推送通知。

我的功能正常工作,我在手机上收到通知,但是 lambda 一直超时(即使超时 20 秒)。我可以在日志中看到我的 lambda 回调正在被调用。似乎有什么东西阻止了 lambda 返回。

我初始化:

const serviceAccount = require('./firebaseKey.json');

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: 'xxx',
});

并发送:

const fcmResponse = await admin.messaging().sendToDevice(fcmToken, message);

我的预感是这里的某些东西阻止它返回,因为其他一切都很普通。

有人对导致超时的原因有任何想法吗?

【问题讨论】:

  • 你能展示更多你的代码吗?你对fcmResponse 值做了什么吗?我猜你没有向函数返回一个承诺,它不知道事情什么时候结束。只是一个猜测,没有看到更多的功能代码。

标签: node.js amazon-web-services firebase aws-lambda firebase-cloud-messaging


【解决方案1】:

对于其他正在查看此内容的人。

Firebase 似乎留下了一些东西,这意味着回调永远不会被调用。

在处理程序中添加以下行可以解决问题:

context.callbackWaitsForEmptyEventLoop = false;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    • 2018-03-20
    • 2018-07-12
    • 1970-01-01
    • 2021-07-29
    • 2020-04-10
    相关资源
    最近更新 更多