Store timezone offsets in db
This commit is contained in:
parent
6e514e1ccc
commit
02344acdee
3 changed files with 47 additions and 19 deletions
|
@ -4,8 +4,11 @@
|
|||
|
||||
let moment = require('moment-timezone');
|
||||
let db = require('../lib/db');
|
||||
let lastCheck = false;
|
||||
let log = require('npmlog');
|
||||
|
||||
function updateTimezoneOffsets(callback) {
|
||||
log.verbose('UTC', 'Updating timezone offsets');
|
||||
db.getConnection((err, connection) => {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
|
@ -29,4 +32,26 @@ function updateTimezoneOffsets(callback) {
|
|||
});
|
||||
}
|
||||
|
||||
updateTimezoneOffsets(console.log);
|
||||
module.exports = callback => {
|
||||
updateTimezoneOffsets(err => {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
let checkLoop = () => {
|
||||
let curUtcDate = new Date().toISOString().split('T').shift();
|
||||
if (curUtcDate !== lastCheck) {
|
||||
updateTimezoneOffsets(err => {
|
||||
if (err) {
|
||||
log.error('UTC', err);
|
||||
}
|
||||
setTimeout(checkLoop, 60 * 60 * 1000);
|
||||
});
|
||||
} else {
|
||||
setTimeout(checkLoop, 60 * 60 * 1000);
|
||||
}
|
||||
lastCheck = curUtcDate;
|
||||
};
|
||||
setTimeout(checkLoop, 60 * 60 * 1000);
|
||||
callback(null, true);
|
||||
});
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue