48 lines
1.1 KiB
C#
48 lines
1.1 KiB
C#
using New_College.Common.Helper;
|
||
using Microsoft.Extensions.Hosting;
|
||
using System;
|
||
using System.Threading;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace New_College.Tasks
|
||
{
|
||
public class Job2TimedService : IHostedService, IDisposable
|
||
{
|
||
private Timer _timer;
|
||
|
||
// 这里可以注入
|
||
public Job2TimedService()
|
||
{
|
||
}
|
||
|
||
public Task StartAsync(CancellationToken cancellationToken)
|
||
{
|
||
Console.WriteLine("Job 2 is starting.");
|
||
|
||
_timer = new Timer(DoWork, null, TimeSpan.Zero,
|
||
TimeSpan.FromSeconds(60 * 60 * 2));//两个小时
|
||
|
||
return Task.CompletedTask;
|
||
}
|
||
|
||
private void DoWork(object state)
|
||
{
|
||
ConsoleHelper.WriteWarningLine($"Job 2: {DateTime.Now}");
|
||
}
|
||
|
||
public Task StopAsync(CancellationToken cancellationToken)
|
||
{
|
||
Console.WriteLine("Job 2 is stopping.");
|
||
|
||
_timer?.Change(Timeout.Infinite, 0);
|
||
|
||
return Task.CompletedTask;
|
||
}
|
||
|
||
public void Dispose()
|
||
{
|
||
_timer?.Dispose();
|
||
}
|
||
}
|
||
}
|