0

我正在编写一个托管在 nodejitsu 中的小型节点服务器,它从一直在修改的 cloudant 数据库中不断获取更改。

我正在使用以下模块,它提供了一个有趣的 couchdb 更改获取器。我遇到的问题是我希望服务器无需重新启动即可工作。我的意思是,连续工作,不间断。但我发现有时我的 nodejitsu 服务器会重新启动。例如,我昨天下午 3:30 让它工作,今天早上 8 点左右重新启动。我发现当跟随模块触发超时事件时,服务器会“死亡”。我想我应该处理这个事件,但我不知道如何处理。我认为,此超时与来自 cloudant 的心跳有关。

我写过类似的东西:

feed.on('timeout', function (err){
    console.log("Timeout!");
});

并且以这种方式获取更改:

var feed = new follow.Feed({db:"https://"+user+":"+password+"@"+host+"/"+dbSource,since:"now",filter:"sync/notSynchronizedFilter"});

feed.on('change',function (change){
    //...do stuff
});

编辑:有一件有趣的事情。触发超时事件后,立即发生错误:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: getaddrinfo ENOTFOUND
    at errnoException (dns.js:37:11)
    at Object.onanswer [as oncomplete] (dns.js:124:16)

编辑2:更多信息。

我终于把心跳改成了 5 分钟,让超时变得非常困难。这种解决了我的特殊问题,但没有回答原来的问题。关于错误,我认为它可能与“跟随”模块有关(我的意思是一个错误),但我不确定。

提前致谢!!

布鲁诺。

4

0 回答 0