【发布时间】:2017-06-23 18:45:27
【问题描述】:
我正在为我的应用程序使用 Google Cloud Pubsub。 pubsub 主题的订阅者是用 Javascript 编写的,并在 Nodejs 上运行。我正在使用 google 提供的官方 pubsub 客户端。
代码如下:
var topic = gcloud.pubsub({projectId: 'myProjectId'}).topic('topicName');
var pubsub = gcloud.pubsub({projectId: 'myProjectId'});
var sub = pubsub.subscription('subName', {topic: topic});
sub.on('error', function(err) { console.error(err); });
sub.on('message', messageHandler);
我的错误处理程序不断被此错误消息触发:
Error: Max message size exceeded
首先,订阅者收到一条非常奇怪的消息。如果消息太大,在发布时应该被拒绝。
更重要的是,我的订阅者似乎在某个时候死了。它会一直处理这些消息,直到出现大约 80 个错误,然后才停止。消息处理程序再也不会被调用。
我该如何解决这个问题?
将 SDK 版本更新为 0.46.1。新的错误信息:
Received message larger than max (10406691 vs. 4194304)
【问题讨论】:
标签: javascript node.js gcloud google-cloud-pubsub