LoadRegistrations.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using MediaBrowser.Common.Security;
  2. using MediaBrowser.Controller.Plugins;
  3. using MediaBrowser.Model.Logging;
  4. using System;
  5. using System.Threading.Tasks;
  6. using MediaBrowser.Common.Threading;
  7. namespace MediaBrowser.Server.Implementations.EntryPoints
  8. {
  9. /// <summary>
  10. /// Class LoadRegistrations
  11. /// </summary>
  12. public class LoadRegistrations : IServerEntryPoint
  13. {
  14. /// <summary>
  15. /// The _security manager
  16. /// </summary>
  17. private readonly ISecurityManager _securityManager;
  18. /// <summary>
  19. /// The _logger
  20. /// </summary>
  21. private readonly ILogger _logger;
  22. private PeriodicTimer _timer;
  23. /// <summary>
  24. /// Initializes a new instance of the <see cref="LoadRegistrations" /> class.
  25. /// </summary>
  26. /// <param name="securityManager">The security manager.</param>
  27. /// <param name="logManager">The log manager.</param>
  28. public LoadRegistrations(ISecurityManager securityManager, ILogManager logManager)
  29. {
  30. _securityManager = securityManager;
  31. _logger = logManager.GetLogger("Registration Loader");
  32. }
  33. /// <summary>
  34. /// Runs this instance.
  35. /// </summary>
  36. public void Run()
  37. {
  38. _timer = new PeriodicTimer(s => LoadAllRegistrations(), null, TimeSpan.FromMilliseconds(100), TimeSpan.FromHours(12));
  39. }
  40. private async Task LoadAllRegistrations()
  41. {
  42. try
  43. {
  44. await _securityManager.LoadAllRegistrationInfo().ConfigureAwait(false);
  45. }
  46. catch (Exception ex)
  47. {
  48. _logger.ErrorException("Error loading registration info", ex);
  49. }
  50. }
  51. /// <summary>
  52. /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
  53. /// </summary>
  54. public void Dispose()
  55. {
  56. if (_timer != null)
  57. {
  58. _timer.Dispose();
  59. _timer = null;
  60. }
  61. }
  62. }
  63. }