PeopleValidationTask.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using MediaBrowser.Common.ScheduledTasks;
  2. using MediaBrowser.Model.Logging;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7. namespace MediaBrowser.Controller.ScheduledTasks
  8. {
  9. /// <summary>
  10. /// Class PeopleValidationTask
  11. /// </summary>
  12. public class PeopleValidationTask : BaseScheduledTask<Kernel>
  13. {
  14. /// <summary>
  15. /// Initializes a new instance of the <see cref="PeopleValidationTask" /> class.
  16. /// </summary>
  17. /// <param name="kernel">The kernel.</param>
  18. /// <param name="logger"></param>
  19. public PeopleValidationTask(Kernel kernel, ITaskManager taskManager, ILogger logger)
  20. : base(kernel, taskManager, logger)
  21. {
  22. }
  23. /// <summary>
  24. /// Creates the triggers that define when the task will run
  25. /// </summary>
  26. /// <returns>IEnumerable{BaseTaskTrigger}.</returns>
  27. public override IEnumerable<ITaskTrigger> GetDefaultTriggers()
  28. {
  29. return new ITaskTrigger[]
  30. {
  31. new DailyTrigger { TimeOfDay = TimeSpan.FromHours(2) },
  32. new IntervalTrigger{ Interval = TimeSpan.FromHours(12)}
  33. };
  34. }
  35. /// <summary>
  36. /// Returns the task to be executed
  37. /// </summary>
  38. /// <param name="cancellationToken">The cancellation token.</param>
  39. /// <param name="progress">The progress.</param>
  40. /// <returns>Task.</returns>
  41. protected override Task ExecuteInternal(CancellationToken cancellationToken, IProgress<double> progress)
  42. {
  43. return Kernel.LibraryManager.ValidatePeople(cancellationToken, progress);
  44. }
  45. /// <summary>
  46. /// Gets the name of the task
  47. /// </summary>
  48. /// <value>The name.</value>
  49. public override string Name
  50. {
  51. get { return "Refresh people"; }
  52. }
  53. /// <summary>
  54. /// Gets the description.
  55. /// </summary>
  56. /// <value>The description.</value>
  57. public override string Description
  58. {
  59. get { return "Updates metadata for actors, artists and directors in your media library."; }
  60. }
  61. /// <summary>
  62. /// Gets the category.
  63. /// </summary>
  64. /// <value>The category.</value>
  65. public override string Category
  66. {
  67. get
  68. {
  69. return "Library";
  70. }
  71. }
  72. }
  73. }