Skip to content

Instantly share code, notes, and snippets.

@ZucchiniZe
Created March 24, 2014 07:45
Show Gist options
  • Select an option

  • Save ZucchiniZe/9735802 to your computer and use it in GitHub Desktop.

Select an option

Save ZucchiniZe/9735802 to your computer and use it in GitHub Desktop.
var Firebase = require('firebase');
var request = require('request');
var moment = require('moment');
var later = require('later');
console.log('Worker started');
// create firebase ref
var markets = new Firebase('https://pubdata-dogecoin.firebaseio.com');
//Log in
markets.auth('wUgprcpKymshbE9g4Z1S13C0233QuDHoYHEwQjeo', function(error, result) {
if(error) {
console.log("Login Failed!", error);
} else {
console.log('Authenticated successfully with payload:');
console.log('Auth expires at:', new Date(result.expires * 1000));
}
});
// will fire every 5 minutes
var bter_schedule = later.parse.text('every 10 s');
// execute logTime for each successive occurrence of the text schedule
var timer_bter = later.setInterval(function(){update_bter(markets)}, bter_schedule);
function update_bter(markets){
var now = moment.utc().format();
console.log('Update bter: '+now);
var b1,b2,b3;
// get bter market firebase location
var bter = markets.child('bter');
// get bter doge value
request('http://data.bter.com/api/1/ticker/doge_btc', function (error, response, body) {
if (!error && response.statusCode == 200) {
var bter = JSON.parse(response.body);
var bterDOGE = bter['last'];
var bterAVG = bter['avg'];
console.log('DOGE value on bter: '+bterDOGE); // Print the google web page.
bter.child('last').set(bterDOGE, function(error) {
if (error) {
console.log('Data could not be saved.' + error);
} else {
console.log('Last saved successfully.');
}
b1 = true;
if(b1 && b2 && b3){ console.log('All values updated'); };
});
bter.child('avg').set(bterAVG, function(error) {
if (error) {
console.log('Data could not be saved.' + error);
} else {
console.log('Avg saved successfully.');
}
b2 = true;
if(b1 && b2 && b3){ console.log('done') };
});
bter.child('lastupdate').set(now, function(error) {
if (error) {
console.log('Data could not be saved.' + error);
} else {
console.log('Data saved successfully.');
}
b3 = true;
if(b1 && b2 && b3){
//process.exit()
console.log('All values updated');
};
});
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment