Add initial error handling for condition for zcashd down

This commit is contained in:
mdr0id 2019-06-10 21:14:31 -07:00
parent d1e49493b0
commit 0813d73e97
1 changed files with 14 additions and 3 deletions

View File

@ -126,19 +126,30 @@ func main() {
"error": err,
}).Warn("invalid current height read from local db storage")
}
timeout_count := 0
// Start listening for new blocks
for {
block, err := getBlock(rpcClient, height)
if err != nil{
if err != nil {
log.WithFields(logrus.Fields{
"height": height,
"error": err,
}).Fatal("error with getblock")
}).Warn("error with getblock")
timeout_count++
if timeout_count == 3 {
log.WithFields(logrus.Fields{
"timeouts": timeout_count,
}).Warn("unable to issue RPC call to zcashd node 3 times")
break
}
}
if block != nil {
handleBlock(db, block)
height++
if timeout_count > 0 {
timeout_count--
}
//TODO store block current/prev hash for formal reorg
} else {
//TODO implement blocknotify to minimize polling on corner cases