Created diagnostic tools
This commit is contained in:
@@ -5,6 +5,7 @@ require('dotenv').config();
|
||||
let CronJob = require('cron').CronJob;
|
||||
|
||||
//utilities
|
||||
let { logDiagnostics } = require('./diagnostics.js');
|
||||
let { log } = require('../common/utilities.js');
|
||||
|
||||
let { getStatistics, isAttacking } = require('./utilities.js');
|
||||
@@ -226,6 +227,7 @@ const runCombatTick = (connection) => {
|
||||
if (err) throw err;
|
||||
|
||||
log('Combat executed', pendingCombat.attackerId, pendingCombat.defenderId, victor, spoilsGold);
|
||||
logDiagnostics(connection, 'death', attackerCasualties);
|
||||
|
||||
//clean the database
|
||||
let query = 'DELETE FROM equipment WHERE quantity <= 0;';
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
//environment variables
|
||||
require('dotenv').config();
|
||||
|
||||
//libraries
|
||||
let CronJob = require('cron').CronJob;
|
||||
|
||||
//utilities
|
||||
let { log } = require('../common/utilities.js');
|
||||
|
||||
const runDailyDiagnostics = (connection) => {
|
||||
let dailyJob = new CronJob('0 0 * * * *', () => {
|
||||
let query = 'INSERT INTO diagnostics (playerCount, totalGold, totalRecruitments, totalDeaths, totalCombats) VALUES ((SELECT COUNT(*) FROM profiles), (SELECT SUM(gold) FROM profiles), (IFNULL((SELECT SUM(quantity) FROM diagnosticsEvents WHERE eventName = "recruit"), 0)), (IFNULL((SELECT SUM(quantity) FROM diagnosticsEvents WHERE eventName = "death"), 0)), (SELECT COUNT(*) FROM pastCombat WHERE eventTime >= DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)));';
|
||||
connection.query(query, (err) => {
|
||||
if (err) throw err;
|
||||
|
||||
let query = 'DELETE FROM diagnosticsEvents;';
|
||||
connection.query(query, (err) => {
|
||||
if (err) throw err;
|
||||
|
||||
log('Daily diagnostics taken');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
dailyJob.start();
|
||||
};
|
||||
|
||||
//current name parameters: 'recruit', 'death'
|
||||
const logDiagnostics = (connection, name, quantity) => {
|
||||
let query = 'INSERT INTO diagnosticsEvents (eventName, quantity) VALUES (?, ?);';
|
||||
connection.query(query, [name, quantity], (err) => {
|
||||
if (err) throw err;
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
runDailyDiagnostics: runDailyDiagnostics,
|
||||
logDiagnostics: logDiagnostics
|
||||
};
|
||||
@@ -22,6 +22,10 @@ app.post('/newsrequest', news.newsRequest());
|
||||
let { connectToDatabase } = require('./database.js');
|
||||
let connection = connectToDatabase(); //uses .env
|
||||
|
||||
//handle diagnostics
|
||||
let diagnostics = require('./diagnostics.js');
|
||||
diagnostics.runDailyDiagnostics(connection);
|
||||
|
||||
//handle accounts
|
||||
let accounts = require('./accounts.js');
|
||||
app.post('/signuprequest', accounts.signupRequest(connection));
|
||||
|
||||
@@ -7,6 +7,7 @@ let CronJob = require('cron').CronJob;
|
||||
let { isAttacking } = require('./utilities.js');
|
||||
|
||||
//utilities
|
||||
let { logDiagnostics } = require('./diagnostics.js');
|
||||
let { log } = require('../common/utilities.js');
|
||||
|
||||
//profile creation & requesting
|
||||
@@ -152,6 +153,7 @@ const recruitRequest = (connection) => (req, res) => {
|
||||
res.end();
|
||||
|
||||
log('Recruit successful', results[0].username, req.body.id, req.body.token);
|
||||
logDiagnostics(connection, 'recruit', 1);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user