Skip to content

Instantly share code, notes, and snippets.

@medikoo
Created July 20, 2012 08:16
Show Gist options
  • Save medikoo/3149506 to your computer and use it in GitHub Desktop.
Save medikoo/3149506 to your computer and use it in GitHub Desktop.
Database handling with deferreds
var deferred = require('deferred')
, query = deferred.promisify(DbSource.query).bind(DbSource)
, write = deferred.promisify(DbDest.write).bind(DbDest)
console.log('[INFO]', 'Starting sequence');
var q = 'SELECT A.* FROM BotCCServer A LIMIT 1';
query(q).map(function (data, i) {
var row = data[0];
console.log('[INFO]', 'Each');
var cncInfo = new CNCInfo();
cncInfo._id = row.entry_id;
cncInfo.entry_id = row.entry_id;
cncInfo.entry_type = row.entry_type;
console.log('[A]', cncInfo);
return deferred(fetchMd5(cncInfo), fetchServers(cncInfo)).match(function (md5, servers) {
console.log('[B]', md5, servers);
cncInfo.md5 = md5;
cncInfo.servers = servers;
return write('botnet_cnc_info', cncInfo);
});
}).end(function () {
console.log("All done");
}, null);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment