const schedule = require('node-schedule'); const getExternalWeather = require('./getExternalWeather'); const clearWeatherData = require('./clearWeatherData'); const Sockets = require('../Sockets'); const Logger = require('./Logger'); const loadConfig = require('./loadConfig'); const logger = new Logger(); module.exports = async function () { const { weather_enabled } = await loadConfig(); if (weather_enabled) { // Update weather data every 15 minutes const weatherJob = schedule.scheduleJob( 'updateWeather', '0 */15 * * * *', async () => { try { const weatherData = await getExternalWeather(); Sockets.getSocket('weather').socket.send(JSON.stringify(weatherData)); } catch (err) { if (weather_enabled) { logger.log(err.message, 'ERROR'); } } } ); // Clear old weather data every 4 hours const weatherCleanerJob = schedule.scheduleJob( 'clearWeather', '0 5 */4 * * *', async () => { clearWeatherData(); } ); } };