Random/Time Slots should be quicker to process.

This commit is contained in:
vexorian 2021-06-01 08:30:34 -04:00
parent a2ed1c1ec8
commit ae7f0ce703
6 changed files with 14 additions and 24 deletions

View File

@ -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;

View File

@ -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());
});
}

View File

@ -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 = [];

6
src/services/throttle.js Normal file
View File

@ -0,0 +1,6 @@
//Adds a slight pause so that long operations
module.exports = function() {
return new Promise((resolve) => {
setImmediate(() => resolve());
});
}

View File

@ -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 = [];

View File

@ -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];