Job1TimedService.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using Admin.Core.Common.Helpers;
  2. using Microsoft.Extensions.Hosting;
  3. using System;
  4. using System.Threading;
  5. using System.Threading.Tasks;
  6. namespace Admin.Core.Tasks
  7. {
  8. public class Job1TimedService : IHostedService, IDisposable
  9. {
  10. private Timer _timer;
  11. // 这里可以注入
  12. public Job1TimedService()
  13. {
  14. }
  15. public Task StartAsync(CancellationToken cancellationToken)
  16. {
  17. Console.WriteLine("Job 1 is starting.");
  18. _timer = new Timer(DoWork, null, TimeSpan.Zero,
  19. TimeSpan.FromSeconds(60*60));//一个小时
  20. return Task.CompletedTask;
  21. }
  22. private void DoWork(object state)
  23. {
  24. ConsoleHelper.WriteSuccessLine($"Job 1: {DateTime.Now}");
  25. }
  26. public Task StopAsync(CancellationToken cancellationToken)
  27. {
  28. Console.WriteLine("Job 1 is stopping.");
  29. _timer?.Change(Timeout.Infinite, 0);
  30. return Task.CompletedTask;
  31. }
  32. public void Dispose()
  33. {
  34. _timer?.Dispose();
  35. }
  36. }
  37. }