Fix server not auto restarting (#14215)

This commit is contained in:
JPVenson 2025-06-04 00:16:35 +03:00 committed by GitHub
parent 56d6e4b4cc
commit 48825f468e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -31,6 +31,7 @@ public class BackupService : IBackupService
private readonly IServerApplicationHost _applicationHost; private readonly IServerApplicationHost _applicationHost;
private readonly IServerApplicationPaths _applicationPaths; private readonly IServerApplicationPaths _applicationPaths;
private readonly IJellyfinDatabaseProvider _jellyfinDatabaseProvider; private readonly IJellyfinDatabaseProvider _jellyfinDatabaseProvider;
private readonly ISystemManager _systemManager;
private static readonly JsonSerializerOptions _serializerSettings = new JsonSerializerOptions(JsonSerializerDefaults.General) private static readonly JsonSerializerOptions _serializerSettings = new JsonSerializerOptions(JsonSerializerDefaults.General)
{ {
AllowTrailingCommas = true, AllowTrailingCommas = true,
@ -47,18 +48,21 @@ public class BackupService : IBackupService
/// <param name="applicationHost">The Application host.</param> /// <param name="applicationHost">The Application host.</param>
/// <param name="applicationPaths">The application paths.</param> /// <param name="applicationPaths">The application paths.</param>
/// <param name="jellyfinDatabaseProvider">The Jellyfin database Provider in use.</param> /// <param name="jellyfinDatabaseProvider">The Jellyfin database Provider in use.</param>
/// <param name="systemManager">The SystemManager.</param>
public BackupService( public BackupService(
ILogger<BackupService> logger, ILogger<BackupService> logger,
IDbContextFactory<JellyfinDbContext> dbProvider, IDbContextFactory<JellyfinDbContext> dbProvider,
IServerApplicationHost applicationHost, IServerApplicationHost applicationHost,
IServerApplicationPaths applicationPaths, IServerApplicationPaths applicationPaths,
IJellyfinDatabaseProvider jellyfinDatabaseProvider) IJellyfinDatabaseProvider jellyfinDatabaseProvider,
ISystemManager systemManager)
{ {
_logger = logger; _logger = logger;
_dbProvider = dbProvider; _dbProvider = dbProvider;
_applicationHost = applicationHost; _applicationHost = applicationHost;
_applicationPaths = applicationPaths; _applicationPaths = applicationPaths;
_jellyfinDatabaseProvider = jellyfinDatabaseProvider; _jellyfinDatabaseProvider = jellyfinDatabaseProvider;
_systemManager = systemManager;
} }
/// <inheritdoc/> /// <inheritdoc/>
@ -67,6 +71,7 @@ public class BackupService : IBackupService
_applicationHost.RestoreBackupPath = archivePath; _applicationHost.RestoreBackupPath = archivePath;
_applicationHost.ShouldRestart = true; _applicationHost.ShouldRestart = true;
_applicationHost.NotifyPendingRestart(); _applicationHost.NotifyPendingRestart();
_systemManager.Restart();
} }
/// <inheritdoc/> /// <inheritdoc/>