GCP Pubsub Nodejs 客户端承诺挂起,客户端冻结,没有错误
GCP Pubsub Nodejs client promises hang, client freezes, no errors
Promises 挂起,没有错误,Google 的 Pub/Sub Node 客户端库针对您的项目。
示例:
const { PubSub } = require("@google-cloud/pubsub");
async function start() {
const pubsubClient = new PubSub({ projectId: "my-project-id" });
try {
const [topics] = await pubsubClient.getTopics();
console.log(topics);
} catch (error) {
console.error(error);
}
}
start().catch(console.error);
return 不会出现错误,也不会显示任何进度。最终客户端在 10 分钟后超时。没有主题会得到 returned。发布到主题等也是如此
如果您使用模拟器 pubsub 进行本地开发,您已设置 PUBSUB_EMULATOR_HOST
变量。由于某种原因,它导致了这个问题。使用 unset PUBSUB_EMULATOR_HOST
从您的环境中删除它或从您的 .env
文件中删除它并重新启动服务器。
您可以检查您的 shell 中是否设置了 printenv
(或 run exec
from the node app 检查)
有一个已知问题并且有相关的 Github 问题,所以如果您遇到这个答案并且对您有帮助,请随时在这里让维护者知道:
https://github.com/googleapis/nodejs-pubsub/issues/339
或在这里:
https://github.com/googleapis/gax-nodejs/issues/208
因为它不会修复似乎不会影响很多人。
Promises 挂起,没有错误,Google 的 Pub/Sub Node 客户端库针对您的项目。
示例:
const { PubSub } = require("@google-cloud/pubsub");
async function start() {
const pubsubClient = new PubSub({ projectId: "my-project-id" });
try {
const [topics] = await pubsubClient.getTopics();
console.log(topics);
} catch (error) {
console.error(error);
}
}
start().catch(console.error);
return 不会出现错误,也不会显示任何进度。最终客户端在 10 分钟后超时。没有主题会得到 returned。发布到主题等也是如此
如果您使用模拟器 pubsub 进行本地开发,您已设置 PUBSUB_EMULATOR_HOST
变量。由于某种原因,它导致了这个问题。使用 unset PUBSUB_EMULATOR_HOST
从您的环境中删除它或从您的 .env
文件中删除它并重新启动服务器。
您可以检查您的 shell 中是否设置了 printenv
(或 run exec
from the node app 检查)
有一个已知问题并且有相关的 Github 问题,所以如果您遇到这个答案并且对您有帮助,请随时在这里让维护者知道: https://github.com/googleapis/nodejs-pubsub/issues/339 或在这里: https://github.com/googleapis/gax-nodejs/issues/208 因为它不会修复似乎不会影响很多人。