node.js - 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 最多需要几秒钟才能接收。有没有办法加快速度?
解决方案
推荐阅读
- css - 如何处理表上 React 组件的 z-index
- c++ - 如何将构建期间生成的文件添加到我的包含目录?
- python - 试图理解递归/回溯,简单不雅的数独示例
- visual-studio-code - 如何检测文件夹是否已添加到 vscode 工作区?
- android - Android Kotlin API 请求 | gson进程后访问列表
- javascript - 如何在 TS 中使核心客户端 JS 功能可用
- java - 在测试模拟自定义 UserDetailsService 时,它在测试需要身份验证的控制器时返回 null
- swift - 预期返回“CacheCallbackCoordinator.State”的函数中缺少返回
- python - 在 IntelliJ 中启用 Django 支持?
- python - 原始异常文本是:“QuerySet”对象没有属性“client”