I've been tracking a case where my Node.Js server just stop receiving events, basically for each contract, when I do a
contact.allEvents({ fromBlock: startblock }, (error, data) => {
...
});
It works, mostly. After some time events just stop. (Currently I have 3 contracts like this, it seems to happen mostly at the same time.) So what I've been doing is to reset geth and/or the process (using cluster, so can just spawn a fresh one).
However... during the last 3 days I've been monitoring my nodes via ethstats.net and it seems like my specific Geth node just starts falling behind in blocks and this seems to occur around the same time. A restart works and everything is back to normal - I'd rather not do this twice a day manually.
What tips and tricks do people have for making sure Geth keeps healthy in production so it runs 24/7?