60 lines
1.7 KiB
JavaScript
60 lines
1.7 KiB
JavaScript
import * as vnUtils from './utils.js';
|
|
import { models } from './models/index.js';
|
|
import moment from 'moment';
|
|
|
|
// Añade la hora a todos los console.log
|
|
// console.log = (...args) => console.info(`${new moment().format('HH:mm:ss')} -`, ...args);
|
|
|
|
async function main() {
|
|
try {
|
|
const env = process.env;
|
|
let tokenExpirationDate = await vnUtils.getClientToken(models);
|
|
|
|
if (JSON.parse(env.SYNC_SEQUENCE)) await vnUtils.syncSequence()
|
|
if (JSON.parse(env.SYNC_SUPPLIER)) await vnUtils.syncSuppliers();
|
|
|
|
await vnUtils.syncConnections();
|
|
|
|
if (JSON.parse(env.SYNC_TRADEITEM)) await vnUtils.syncTradeItems();
|
|
|
|
console.log('Synced trade items');
|
|
try {
|
|
while (true) {
|
|
try{
|
|
console.log('Querying the API to check for new data...');
|
|
|
|
if (moment().isAfter(tokenExpirationDate)) {
|
|
console.log('Token expired, getting a new one...');
|
|
tokenExpirationDate = await vnUtils.getClientToken(models);
|
|
}
|
|
await vnUtils.syncSupplyLines();
|
|
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
|
|
if (JSON.parse(env.IS_PRODUCTION))
|
|
await vnUtils.sleep(300000);
|
|
else
|
|
await vnUtils.sleep(120000);
|
|
}
|
|
} catch (err) {
|
|
myErr(err);
|
|
}
|
|
} catch (err) {
|
|
myErr(err);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Creates the connection to the database.
|
|
*
|
|
* @param {err}
|
|
**/
|
|
function myErr(err) {
|
|
console.log(`[ERROR]`.red.bold, `${err.name}: ${err.message}`.red);
|
|
process.exit();
|
|
}
|
|
|
|
|
|
main() |