Skip to content

Instantly share code, notes, and snippets.

@mpobrien
Created June 14, 2013 20:49
Show Gist options
  • Save mpobrien/5785152 to your computer and use it in GitHub Desktop.
Save mpobrien/5785152 to your computer and use it in GitHub Desktop.
var mongodb = require('mongodb')
var microtime = require('microtime')
var HOW_OFTEN=1000;
MongoClient = mongodb.MongoClient
Server = mongodb.Server
var process_ipranges = function(err, ip_ranges) {
if (err) {
console.trace(err);
console.error('Setting timeout to reopen db in 10 sec...');
return setTimeout(init, 10000);
}
var grab_ip_ranges = function(callback) {
var retry = function(err) {
if (err) console.trace(err);
setTimeout(grab_ip_ranges, HOW_OFTEN);
};
ip_ranges.find({}).sort({int_LowRange:1}).toArray(function(err, documents) {
if (err) return retry(err);
var start = microtime.now();
var ranges = [];
for (var i = 0; i < documents.length; i++) {
data = documents[i];
data.str_Carrier = data.a
ranges.push(data);
//console.warn(data.int_LowRange + ", " + data.int_HighRange + ", " + data.str_Carrier);
}
_carrier_ranges = ranges;
//console.warn(carrier_ranges);
console.warn('LOADED CLASSIC CARRIER RANGES ' + ranges.length + ' NEW RANGES', 'latency:', microtime.now()-start);
//retry();
});
};
grab_ip_ranges();
};
var client = new MongoClient(new Server("127.0.0.1", 27017, {}), {w: 1});
client.open(function(err, p_client) {
if(!err){
var db = p_client.db("test")
db.collection('test_insert', process_ipranges);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment