update use of timers
This commit is contained in:
parent
e906bdc06e
commit
47ea69f0de
|
@ -36,7 +36,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||
private readonly IMediaSourceManager _mediaSourceManager;
|
||||
|
||||
private readonly List<string> _nonRendererUrls = new List<string>();
|
||||
private Timer _clearNonRenderersTimer;
|
||||
private DateTime _lastRendererClear;
|
||||
|
||||
public PlayToManager(ILogger logger, ISessionManager sessionManager, ILibraryManager libraryManager, IUserManager userManager, IDlnaManager dlnaManager, IServerApplicationHost appHost, IImageProcessor imageProcessor, IDeviceDiscovery deviceDiscovery, IHttpClient httpClient, IServerConfigurationManager config, IUserDataManager userDataManager, ILocalizationManager localization, IMediaSourceManager mediaSourceManager)
|
||||
{
|
||||
|
@ -57,19 +57,9 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||
|
||||
public void Start()
|
||||
{
|
||||
_clearNonRenderersTimer = new Timer(OnClearUrlTimerCallback, null, TimeSpan.FromMinutes(10), TimeSpan.FromMinutes(10));
|
||||
|
||||
_deviceDiscovery.DeviceDiscovered += _deviceDiscovery_DeviceDiscovered;
|
||||
}
|
||||
|
||||
private void OnClearUrlTimerCallback(object state)
|
||||
{
|
||||
lock (_nonRendererUrls)
|
||||
{
|
||||
_nonRendererUrls.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
async void _deviceDiscovery_DeviceDiscovered(object sender, SsdpMessageEventArgs e)
|
||||
{
|
||||
string usn;
|
||||
|
@ -99,6 +89,12 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||
|
||||
lock (_nonRendererUrls)
|
||||
{
|
||||
if ((DateTime.UtcNow - _lastRendererClear).TotalMinutes >= 10)
|
||||
{
|
||||
_nonRendererUrls.Clear();
|
||||
_lastRendererClear = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
if (_nonRendererUrls.Contains(location, StringComparer.OrdinalIgnoreCase))
|
||||
{
|
||||
return;
|
||||
|
@ -181,12 +177,6 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||
public void Dispose()
|
||||
{
|
||||
_deviceDiscovery.DeviceDiscovered -= _deviceDiscovery_DeviceDiscovered;
|
||||
|
||||
if (_clearNonRenderersTimer != null)
|
||||
{
|
||||
_clearNonRenderersTimer.Dispose();
|
||||
_clearNonRenderersTimer = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Common.Extensions;
|
||||
using MediaBrowser.Common.IO;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Notifications;
|
||||
|
@ -17,12 +16,13 @@ using System.Threading;
|
|||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
using CommonIO;
|
||||
using MediaBrowser.Common.Threading;
|
||||
|
||||
namespace MediaBrowser.Server.Implementations.News
|
||||
{
|
||||
public class NewsEntryPoint : IServerEntryPoint
|
||||
{
|
||||
private Timer _timer;
|
||||
private PeriodicTimer _timer;
|
||||
private readonly IHttpClient _httpClient;
|
||||
private readonly IApplicationPaths _appPaths;
|
||||
private readonly IFileSystem _fileSystem;
|
||||
|
@ -47,7 +47,7 @@ namespace MediaBrowser.Server.Implementations.News
|
|||
|
||||
public void Run()
|
||||
{
|
||||
_timer = new Timer(OnTimerFired, null, TimeSpan.FromMilliseconds(500), _frequency);
|
||||
_timer = new PeriodicTimer(OnTimerFired, null, TimeSpan.FromMilliseconds(500), _frequency);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -4,7 +4,7 @@ using MediaBrowser.Controller.Session;
|
|||
using MediaBrowser.Model.Logging;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using MediaBrowser.Common.Threading;
|
||||
|
||||
namespace MediaBrowser.Server.Startup.Common.EntryPoints
|
||||
{
|
||||
|
@ -12,7 +12,7 @@ namespace MediaBrowser.Server.Startup.Common.EntryPoints
|
|||
{
|
||||
private readonly ISessionManager _sessionManager;
|
||||
private readonly ILogger _logger;
|
||||
private Timer _timer;
|
||||
private PeriodicTimer _timer;
|
||||
private readonly IServerApplicationHost _appHost;
|
||||
|
||||
public KeepServerAwake(ISessionManager sessionManager, ILogger logger, IServerApplicationHost appHost)
|
||||
|
@ -24,7 +24,7 @@ namespace MediaBrowser.Server.Startup.Common.EntryPoints
|
|||
|
||||
public void Run()
|
||||
{
|
||||
_timer = new Timer(obj =>
|
||||
_timer = new PeriodicTimer(obj =>
|
||||
{
|
||||
var now = DateTime.UtcNow;
|
||||
if (_sessionManager.Sessions.Any(i => (now - i.LastActivityDate).TotalMinutes < 15))
|
||||
|
|
Loading…
Reference in New Issue
Block a user