mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 10:47:08 -07:00
main app cleanup.
This commit is contained in:
parent
da2c0d1d65
commit
8900bbb3a1
20 changed files with 253 additions and 258 deletions
53
NzbDrone/PriorityMonitor.cs
Normal file
53
NzbDrone/PriorityMonitor.cs
Normal file
|
@ -0,0 +1,53 @@
|
|||
using System.Linq;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using NLog;
|
||||
using NzbDrone.Common;
|
||||
|
||||
namespace NzbDrone
|
||||
{
|
||||
public class PriorityMonitor
|
||||
{
|
||||
private readonly ProcessProvider _processProvider;
|
||||
private readonly Logger _logger;
|
||||
|
||||
private Timer _processPriorityCheckTimer;
|
||||
|
||||
public PriorityMonitor(ProcessProvider processProvider, Logger logger)
|
||||
{
|
||||
_processProvider = processProvider;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public void Start()
|
||||
{
|
||||
_processPriorityCheckTimer = new Timer(EnsurePriority);
|
||||
_processPriorityCheckTimer.Change(TimeSpan.FromSeconds(15), TimeSpan.FromMinutes(30));
|
||||
|
||||
}
|
||||
|
||||
public virtual void EnsurePriority(object sender)
|
||||
{
|
||||
try
|
||||
{
|
||||
var currentProcess = _processProvider.GetCurrentProcess();
|
||||
if (currentProcess.Priority != ProcessPriorityClass.Normal)
|
||||
{
|
||||
_processProvider.SetPriority(currentProcess.Id, ProcessPriorityClass.Normal);
|
||||
}
|
||||
|
||||
var iisProcess = _processProvider.GetProcessById(_processProvider.GetCurrentProcess().Id);
|
||||
if (iisProcess != null && iisProcess.Priority != ProcessPriorityClass.Normal &&
|
||||
iisProcess.Priority != ProcessPriorityClass.AboveNormal)
|
||||
{
|
||||
_processProvider.SetPriority(iisProcess.Id, ProcessPriorityClass.Normal);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.WarnException("Unable to verify priority", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue