mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 18:57:39 -07:00
Update provider now closes all orphaned IISExpress instances before update.
This commit is contained in:
parent
115b06821e
commit
d73853f08b
8 changed files with 49 additions and 32 deletions
|
@ -36,8 +36,9 @@ namespace NzbDrone.Update
|
|||
var processProvider = new ProcessProvider();
|
||||
var serviceProvider = new ServiceProvider();
|
||||
var diskProvider = new DiskProvider();
|
||||
var iisProvider = new IISProvider();
|
||||
|
||||
var updateProvider = new UpdateProvider(diskProvider, serviceProvider, processProvider, enviromentProvider);
|
||||
var updateProvider = new UpdateProvider(diskProvider, serviceProvider, processProvider, enviromentProvider, iisProvider);
|
||||
|
||||
new Program(updateProvider, processProvider).Start(args);
|
||||
}
|
||||
|
@ -58,12 +59,12 @@ namespace NzbDrone.Update
|
|||
fileTarget.ConcurrentWrites = false;
|
||||
fileTarget.DeleteOldFileOnStartup = true;
|
||||
fileTarget.FileName = "upgrade.log";
|
||||
fileTarget.KeepFileOpen =false;
|
||||
|
||||
fileTarget.KeepFileOpen = false;
|
||||
|
||||
fileTarget.Layout = "${logger}: ${message} ${exception}";
|
||||
LogManager.Configuration.AddTarget(fileTarget.GetType().Name, fileTarget);
|
||||
LogManager.Configuration.LoggingRules.Add(new LoggingRule("*", LogLevel.Trace, fileTarget));
|
||||
|
||||
|
||||
LogConfiguration.Reload();
|
||||
}
|
||||
|
||||
|
|
|
@ -13,15 +13,17 @@ namespace NzbDrone.Update.Providers
|
|||
private readonly ServiceProvider _serviceProvider;
|
||||
private readonly ProcessProvider _processProvider;
|
||||
private readonly EnviromentProvider _enviromentProvider;
|
||||
private readonly IISProvider _iisProvider;
|
||||
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
|
||||
|
||||
public UpdateProvider(DiskProvider diskProvider, ServiceProvider serviceProvider,
|
||||
ProcessProvider processProvider, EnviromentProvider enviromentProvider)
|
||||
ProcessProvider processProvider, EnviromentProvider enviromentProvider, IISProvider iisProvider)
|
||||
{
|
||||
_diskProvider = diskProvider;
|
||||
_serviceProvider = serviceProvider;
|
||||
_processProvider = processProvider;
|
||||
_enviromentProvider = enviromentProvider;
|
||||
_iisProvider = iisProvider;
|
||||
}
|
||||
|
||||
public UpdateProvider()
|
||||
|
@ -50,14 +52,14 @@ namespace NzbDrone.Update.Providers
|
|||
bool isService = false;
|
||||
|
||||
logger.Info("Stopping all running services");
|
||||
|
||||
|
||||
if (_serviceProvider.ServiceExist(ServiceProvider.NZBDRONE_SERVICE_NAME)
|
||||
&& _serviceProvider.IsServiceRunning(ServiceProvider.NZBDRONE_SERVICE_NAME))
|
||||
{
|
||||
isService = true;
|
||||
_serviceProvider.Stop(ServiceProvider.NZBDRONE_SERVICE_NAME);
|
||||
}
|
||||
|
||||
|
||||
logger.Info("Killing all running processes");
|
||||
var processes = _processProvider.GetProcessByName(ProcessProvider.NzbDroneProccessName);
|
||||
foreach (var processInfo in processes)
|
||||
|
@ -65,6 +67,9 @@ namespace NzbDrone.Update.Providers
|
|||
_processProvider.Kill(processInfo.Id);
|
||||
}
|
||||
|
||||
logger.Info("Killing all orphan IISExpress processes");
|
||||
_iisProvider.StopServer();
|
||||
|
||||
logger.Info("Creating backup of existing installation");
|
||||
_diskProvider.CopyDirectory(targetFolder, _enviromentProvider.GetUpdateBackUpFolder());
|
||||
|
||||
|
@ -79,7 +84,7 @@ namespace NzbDrone.Update.Providers
|
|||
{
|
||||
RollBack(targetFolder);
|
||||
|
||||
foreach(var key in e.Data.Keys)
|
||||
foreach (var key in e.Data.Keys)
|
||||
{
|
||||
logger.Trace("Key: {0}, Value: {1}", key, e.Data[key]);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue