CleanDatabaseScheduledTask.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using MediaBrowser.Common.ScheduledTasks;
  2. using MediaBrowser.Controller.LiveTv;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Threading.Tasks;
  6. namespace MediaBrowser.Server.Implementations.LiveTv
  7. {
  8. class CleanDatabaseScheduledTask : IScheduledTask, IConfigurableScheduledTask
  9. {
  10. private readonly ILiveTvManager _liveTvManager;
  11. public CleanDatabaseScheduledTask(ILiveTvManager liveTvManager)
  12. {
  13. _liveTvManager = liveTvManager;
  14. }
  15. public string Name
  16. {
  17. get { return "Clean TV Database"; }
  18. }
  19. public string Description
  20. {
  21. get { return "Deletes old programs from the tv database."; }
  22. }
  23. public string Category
  24. {
  25. get { return "Live TV"; }
  26. }
  27. public Task Execute(System.Threading.CancellationToken cancellationToken, IProgress<double> progress)
  28. {
  29. var manager = (LiveTvManager)_liveTvManager;
  30. return manager.CleanDatabase(progress, cancellationToken);
  31. }
  32. public IEnumerable<ITaskTrigger> GetDefaultTriggers()
  33. {
  34. return new ITaskTrigger[]
  35. {
  36. new IntervalTrigger{ Interval = TimeSpan.FromHours(12)}
  37. };
  38. }
  39. public bool IsHidden
  40. {
  41. get { return _liveTvManager.ActiveService == null; }
  42. }
  43. public bool IsEnabled
  44. {
  45. get { return true; }
  46. }
  47. }
  48. }