fix: only run scheduled mediaserver jobs that apply to the current mediaserver
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import schedule from 'node-schedule';
|
import schedule from 'node-schedule';
|
||||||
|
import { MediaServerType } from '../constants/server';
|
||||||
import downloadTracker from '../lib/downloadtracker';
|
import downloadTracker from '../lib/downloadtracker';
|
||||||
import { plexFullScanner, plexRecentScanner } from '../lib/scanners/plex';
|
import { plexFullScanner, plexRecentScanner } from '../lib/scanners/plex';
|
||||||
import { radarrScanner } from '../lib/scanners/radarr';
|
import { radarrScanner } from '../lib/scanners/radarr';
|
||||||
@@ -21,19 +22,24 @@ export const scheduledJobs: ScheduledJob[] = [];
|
|||||||
|
|
||||||
export const startJobs = (): void => {
|
export const startJobs = (): void => {
|
||||||
const jobs = getSettings().jobs;
|
const jobs = getSettings().jobs;
|
||||||
|
const mediaServerType = getSettings().main.mediaServerType;
|
||||||
|
|
||||||
|
if (mediaServerType === MediaServerType.PLEX) {
|
||||||
// Run recently added plex scan every 5 minutes
|
// Run recently added plex scan every 5 minutes
|
||||||
scheduledJobs.push({
|
scheduledJobs.push({
|
||||||
id: 'plex-recently-added-scan',
|
id: 'plex-recently-added-scan',
|
||||||
name: 'Plex Recently Added Scan',
|
name: 'Plex Recently Added Scan',
|
||||||
type: 'process',
|
type: 'process',
|
||||||
interval: 'short',
|
interval: 'short',
|
||||||
job: schedule.scheduleJob(jobs['plex-recently-added-scan'].schedule, () => {
|
job: schedule.scheduleJob(
|
||||||
|
jobs['plex-recently-added-scan'].schedule,
|
||||||
|
() => {
|
||||||
logger.info('Starting scheduled job: Plex Recently Added Scan', {
|
logger.info('Starting scheduled job: Plex Recently Added Scan', {
|
||||||
label: 'Jobs',
|
label: 'Jobs',
|
||||||
});
|
});
|
||||||
plexRecentScanner.run();
|
plexRecentScanner.run();
|
||||||
}),
|
}
|
||||||
|
),
|
||||||
running: () => plexRecentScanner.status().running,
|
running: () => plexRecentScanner.status().running,
|
||||||
cancelFn: () => plexRecentScanner.cancel(),
|
cancelFn: () => plexRecentScanner.cancel(),
|
||||||
});
|
});
|
||||||
@@ -53,7 +59,10 @@ export const startJobs = (): void => {
|
|||||||
running: () => plexFullScanner.status().running,
|
running: () => plexFullScanner.status().running,
|
||||||
cancelFn: () => plexFullScanner.cancel(),
|
cancelFn: () => plexFullScanner.cancel(),
|
||||||
});
|
});
|
||||||
|
} else if (
|
||||||
|
mediaServerType === MediaServerType.JELLYFIN ||
|
||||||
|
mediaServerType === MediaServerType.EMBY
|
||||||
|
) {
|
||||||
// Run recently added jellyfin sync every 5 minutes
|
// Run recently added jellyfin sync every 5 minutes
|
||||||
scheduledJobs.push({
|
scheduledJobs.push({
|
||||||
id: 'jellyfin-recently-added-sync',
|
id: 'jellyfin-recently-added-sync',
|
||||||
@@ -88,6 +97,7 @@ export const startJobs = (): void => {
|
|||||||
running: () => jobJellyfinFullSync.status().running,
|
running: () => jobJellyfinFullSync.status().running,
|
||||||
cancelFn: () => jobJellyfinFullSync.cancel(),
|
cancelFn: () => jobJellyfinFullSync.cancel(),
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Run full radarr scan every 24 hours
|
// Run full radarr scan every 24 hours
|
||||||
scheduledJobs.push({
|
scheduledJobs.push({
|
||||||
|
|||||||
Reference in New Issue
Block a user