首页 > 解决方案 > Firebase PubSub 函数需要 2 多分钟才能响应

问题描述

我有一个接收 webhook 的 firebase 函数。这 100% 有效,并向提供者返回 200。该函数如下所示(已简化):

export const webhook = https.onRequest(async (req, res) => {
    const pubsub = new PubSub({ projectId: process.env.GCLOUD_PROJECT });

    const usersToUpdate = [
        'uid1',
        'uid2',
        'uid3',
    ];

    await Promise.all(usersToUpdate.map(user => {
        pubsub.topic('myTopic').publishJSON({ userId: user.id })
    }));

    res.sendStatus(200);
});

PubSub 函数如下所示:

export const updateUsers = runWith({ timeoutSeconds: 540 }).pubsub.topic('myTopic').onPublish(async (message) => {
    const { userID } = message.json;
    await updateMyUsers(userID);
});

这些功能有效,唯一的问题是updateUsers接收主题需要两分钟以上(被触发)。

我的理解是,PubSub 最多需要几秒钟才能接收。有没有办法加快速度?

标签: node.jsfirebasegoogle-cloud-functionsgoogle-cloud-pubsub

解决方案


推荐阅读