From b08025195e1e1fd07e274b6846728770ec1d3e18 Mon Sep 17 00:00:00 2001 From: notfakie <103784113+notfakie@users.noreply.github.com> Date: Mon, 11 Jul 2022 17:29:17 +1200 Subject: [PATCH] fix: start scheduled jobs on initial admin account setup issue #170 --- server/index.ts | 14 ++++++++++++-- server/routes/auth.ts | 3 +++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/server/index.ts b/server/index.ts index c80530120..3f4e55035 100644 --- a/server/index.ts +++ b/server/index.ts @@ -87,8 +87,18 @@ app new WebPushAgent(), ]); - // Start Jobs - startJobs(); + const userRepository = getRepository(User); + const totalUsers = await userRepository.count(); + if (totalUsers > 0) { + startJobs(); + } else { + logger.info( + `Skipping starting the scheduled jobs as we have no Plex/Jellyfin/Emby servers setup yet`, + { + label: 'Server', + } + ); + } const server = express(); if (settings.main.trustProxy) { diff --git a/server/routes/auth.ts b/server/routes/auth.ts index ba8926a3f..81ba519fc 100644 --- a/server/routes/auth.ts +++ b/server/routes/auth.ts @@ -5,6 +5,7 @@ import PlexTvAPI from '../api/plextv'; import { MediaServerType } from '../constants/server'; import { UserType } from '../constants/user'; import { User } from '../entity/User'; +import { startJobs } from '../job/schedule'; import { Permission } from '../lib/permissions'; import { getSettings } from '../lib/settings'; import logger from '../logger'; @@ -83,6 +84,7 @@ authRoutes.post('/plex', async (req, res, next) => { settings.main.mediaServerType = MediaServerType.PLEX; settings.save(); + startJobs(); await userRepository.save(user); } else { @@ -320,6 +322,7 @@ authRoutes.post('/jellyfin', async (req, res, next) => { settings.jellyfin.hostname = body.hostname ?? ''; settings.jellyfin.serverId = account.User.ServerId; settings.save(); + startJobs(); } }