我刚刚开始构建一个新的Meteor应用程序。到目前为止我唯一做的就是添加一个Collection。它将启动,运行正常约5分钟,然后给我错误消息“无法接收keepalive!退出。”
什么未能获得保持活力?我认为这与Mongo有关,因为这是我唯一添加的内容。谷歌搜索错误消息除了显示此错误消息而不是他们的应用程序的Meteor网站之外什么都没有。
我的MongoDB集合中已经有一些不是由Meteor创建的数据,如果有任何不同,它的数据超过4GB。
这是完整的应用程序。
pitches_sum = new Meteor.Collection( 'pitches_sum' );
if (Meteor.is_client) {
Template.hello.greeting = function () {
return "Welcome to my site.";
};
Template.hello.events = {
'click input' : function () {
// template data, if any, is available in 'this'
if (typeof console !== 'undefined')
console.log("You pressed the button");
}
};
}
if (Meteor.is_server) {
Meteor.startup(function () {
console.log( '**asdf**' );
});
}
如果我注释掉pitches_sum = new Meteor.Collection( 'pitches_sum' );
行,那么我认为我不会再收到错误消息了。
答案 0 :(得分:5)
这是由我的大数据集和自动发布引起的。自从autopublish启动以来,Meteor试图将整个4GB的集合发送给客户端。尝试处理所有数据阻止客户端响应服务器的保持活动ping。或者是那种效果。
使用meteor remove autopublish
删除自动发布,然后编写自己的发布和订阅功能修复了问题。