diff --git a/index.js b/index.js index 484e691..cfe1f39 100644 --- a/index.js +++ b/index.js @@ -21,7 +21,7 @@ const ChannelDB = require("./src/dao/channel-db"); const M3uService = require("./src/services/m3u-service"); const FillerDB = require("./src/dao/filler-db"); const CustomShowDB = require("./src/dao/custom-show-db"); -const TVGuideService = require("./src/tv-guide-service"); +const TVGuideService = require("./src/services/tv-guide-service"); const EventService = require("./src/services/event-service"); const onShutdown = require("node-graceful-shutdown").onShutdown; diff --git a/src/api.js b/src/api.js index a00501a..5c87f82 100644 --- a/src/api.js +++ b/src/api.js @@ -12,6 +12,7 @@ const Plex = require("./plex.js"); const timeSlotsService = require('./services/time-slots-service'); const randomSlotsService = require('./services/random-slots-service'); +const throttle = require('./services/throttle'); function safeString(object) { let o = object; @@ -1073,8 +1074,3 @@ function api(db, channelDB, fillerDB, customShowDB, xmltvInterval, guideService } -async function throttle() { - return new Promise((resolve) => { - setImmediate(() => resolve()); - }); -} diff --git a/src/services/random-slots-service.js b/src/services/random-slots-service.js index 2cc6064..5cac49c 100644 --- a/src/services/random-slots-service.js +++ b/src/services/random-slots-service.js @@ -1,6 +1,8 @@ const constants = require("../constants"); const getShowData = require("./get-show-data")(); const random = require('../helperFuncs').random; +const throttle = require('./throttle'); + const MINUTE = 60*1000; const DAY = 24*60*MINUTE; @@ -192,12 +194,6 @@ module.exports = async( programs, schedule ) => { // throttle so that the stream is not affected negatively let steps = 0; - let throttle = async() => { - if (steps++ == 10) { - steps = 0; - await _wait(1); - } - } let showsById = {}; let shows = []; diff --git a/src/services/throttle.js b/src/services/throttle.js new file mode 100644 index 0000000..80e34f1 --- /dev/null +++ b/src/services/throttle.js @@ -0,0 +1,6 @@ +//Adds a slight pause so that long operations +module.exports = function() { + return new Promise((resolve) => { + setImmediate(() => resolve()); + }); +} diff --git a/src/services/time-slots-service.js b/src/services/time-slots-service.js index 64b6115..fe6b6a8 100644 --- a/src/services/time-slots-service.js +++ b/src/services/time-slots-service.js @@ -3,6 +3,7 @@ const constants = require("../constants"); const getShowData = require("./get-show-data")(); const random = require('../helperFuncs').random; +const throttle = require('./throttle'); const MINUTE = 60*1000; const DAY = 24*60*MINUTE; @@ -200,12 +201,6 @@ module.exports = async( programs, schedule ) => { // throttle so that the stream is not affected negatively let steps = 0; - let throttle = async() => { - if (steps++ == 10) { - steps = 0; - await _wait(1); - } - } let showsById = {}; let shows = []; diff --git a/src/tv-guide-service.js b/src/services/tv-guide-service.js similarity index 99% rename from src/tv-guide-service.js rename to src/services/tv-guide-service.js index 84027be..cd3160d 100644 --- a/src/tv-guide-service.js +++ b/src/services/tv-guide-service.js @@ -1,6 +1,7 @@ -const constants = require("./constants"); +const constants = require("../constants"); const FALLBACK_ICON = "https://raw.githubusercontent.com/vexorain/dizquetv/main/resources/dizquetv.png"; +const throttle = require('./throttle'); class TVGuideService { @@ -18,6 +19,7 @@ class TVGuideService this.db = db; this.cacheImageService = cacheImageService; this.eventService = eventService; + this._throttle = throttle; } async get() { @@ -355,11 +357,6 @@ class TVGuideService } } - _throttle() { - return new Promise((resolve) => { - setImmediate(() => resolve()); - }); - } async refreshXML() { let xmltvSettings = this.db['xmltv-settings'].find()[0];