Avoid query timeout in oriento (node.js driver for OrientDB)

Given the following node.js + oriento sample code, I have an issue of running into a timeout, [OrientDB.ConnectionError [2]: read ETIMEDOUT], first time I make a DB query after a longish inactivity period. Right after the timeout error the connection is somehow re-initialized and the next query runs fine.

var oriento = require("oriento"),
    server = oriento({...}),
    db = server.use("users");

var getData = function(statement, opts, callback) {
    db.query(statement, opts).then(function(data) {
        callback(null, data);
    }).catch(callback);
};

So I have the following questions:

  1. Is this the right way to go or should I call oriento({...}).use("users") every time I make a query rather than reusing the connection object?
  2. If this is the right way, why the connection is not validated and refreshed automatically?
  3. How can I manually check that I am not going to run into a timeout (i.e. validate the connection) and force a connection refresh?

Any suggestions better than the following fairly ugly hack to keep the transport socket by pinging the DB every minute?

setInterval(function(db) {
    db.query("select from user").then(function(data) {
        console.log("still alive");
    }).catch(function(err) {
        console.error(err);
    });
}, 60000, db);