Skip to content

Instantly share code, notes, and snippets.

@maja-m
Last active August 5, 2018 11:25
Show Gist options
  • Save maja-m/d3ae1c5134bee5da9229b9227dce7a51 to your computer and use it in GitHub Desktop.
Save maja-m/d3ae1c5134bee5da9229b9227dce7a51 to your computer and use it in GitHub Desktop.
Test dla Electricity Exchange
{
"lockfileVersion": 1,
"dependencies": {
"bignumber.js": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.0.2.tgz",
"integrity": "sha1-LR3DfuWWiGfs6pC22k0W5oYI0h0="
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"mysql": {
"version": "2.14.1",
"resolved": "https://registry.npmjs.org/mysql/-/mysql-2.14.1.tgz",
"integrity": "sha512-ZPXqQeYH7L1QPDyC77Rcp32cNCQnNjz8Y4BbF17tOjm5yhSfjFa3xS4PvuxWJtEEmwVc4ccI7sSntj4eyYRq0A=="
},
"process-nextick-args": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
},
"readable-stream": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
"integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ=="
},
"safe-buffer": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
},
"sqlstring": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.2.0.tgz",
"integrity": "sha1-wxNcTqirzX5+50GklmqJHYak8ZE="
},
"string_decoder": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ=="
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
}
}
}
{
"scripts": {
"start": "node server.js"
},
"name": "electricity-exchange-test",
"version": "1.0",
"dependencies": {
"mysql": "^2.14.1"
}
}
const mysql = require('mysql');
const connection = mysql.createConnection({
host : 'localhost',
user : 'maja',
password : 'pass',
database : 'db'
});
connection.connect(function(err) {
if (err) {
console.error('Error connecting to the database');
return;
}
console.log('Connected to database. Updating every 1s...');
updateDatabase();
});
function updateDatabase()
{
connection.query('TRUNCATE TABLE dsu_data', function (error, results, fields) {
if (error) {
console.log('Error clearing dsu_data table');
process.exit(1);
}
connection.query('SELECT distinct dsu_id FROM site_data', function (error, dsuIds, fields) {
if (error){
console.log('Error reading site_data table');
process.exit(1);
}
let inserts = dsuIds.length;
dsuIds.forEach(function(dsuId) {
connection.query('INSERT INTO dsu_data VALUES(?, (SELECT SUM(power) FROM site_data WHERE dsu_id=?))', [dsuId.dsu_id, dsuId.dsu_id], function (error, results, fields) {
if (error){
console.log('Error insertng data into dsu_data table');
process.exit(1);
}
inserts--;
if (inserts == 0)
setTimeout(updateDatabase, 1000);
});
});
});
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment