簡體   English   中英

Python /節點ZeroRPC心跳錯誤

[英]Python/Node ZeroRPC heartbeat error

我試圖從ZeroRPC 網站運行Python服務器/node.js客戶端HelloWorld示例。 所有的啟示性庫似乎都已正確安裝,但是在運行示例時出現錯誤:

{ name: 'HeartbeatError',
  message: 'Lost remote after 10000ms',
  traceback: '' }

有人看過嗎?

我正在使用“ zerorpc”:“ ^ 0.9.3”,當我運行耗時的python代碼時遇到相同的問題。 解決此問題的方法是,您需要修改zerorpc的庫代碼:node_modules-> zerorpc-> lib-> channel.js將對應方法更改為

//Runs the heartbeat on this channel
Channel.prototype._runHeartbeat = function() {
    var self = this;

    return setInterval(function() {
        if(util.curTime() > self._heartbeatExpirationTime) {
            //If we haven't received a response in 2 * heartbeat rate, send an
            //error
//            self.emit("heartbeat-error", "Lost remote after " + (HEARTBEAT * 2) + "ms");
//            self.close();
        }

        //Heartbeat on the channel
        try {
            var event = events.create(self._envelope, self._createHeader(), "_zpc_hb", [0]);
            self._socket.send(event);
        } catch(e) {
            console.error("Error occurred while sending heartbeat:", e);
        }
    }, HEARTBEAT);
};

在來自github的最新代碼中: https : //github.com/dotcloud/zerorpc-node,他們已經解決了這個問題。

如果可以,請使用gevent.sleep使zerorpc有足夠的時間來處理等待的消息,包括心跳。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM