加入任务调度模块

This commit is contained in:
橙子
2021-10-30 18:48:58 +08:00
parent ec5982a6e3
commit 35f39eb65b
30 changed files with 1012 additions and 46 deletions

View File

@@ -0,0 +1,27 @@
using Microsoft.Extensions.Logging;
using Quartz;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.Framework.Job
{
public class HttpJob : IJob
{
private ILogger<VisitJob> _logger;
public HttpJob(ILogger<VisitJob> logger)
{
_logger = logger;
}
public Task Execute(IJobExecutionContext context)
{
return Task.Run(() =>
{
});
}
}
}

View File

@@ -0,0 +1,45 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Quartz;
using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Common.Models;
using Yi.Framework.Model.ModelFactory;
using Yi.Framework.Model.Models;
namespace Yi.Framework.Job
{
public class VisitJob : IJob
{
private ILogger<VisitJob> _logger;
private DbContext _DBWrite;
public VisitJob(ILogger<VisitJob> logger, IDbContextFactory DbFactory)
{
_logger = logger;
_DBWrite = DbFactory.ConnWriteOrRead(Common.Enum.WriteAndReadEnum.Write);
}
/// <summary>
/// 应该将拜访清零,并且写入数据库中的拜访表中
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
public Task Execute(IJobExecutionContext context)
{
return Task.Run(() =>
{
_DBWrite.Set<visit>().Add(new visit() { num = visitModel.visitNum, time = DateTime.Now });
_DBWrite.SaveChanges();
_logger.LogWarning("定时任务开始调度:" + nameof(VisitJob) + ":" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + $":访问总数为:{visitModel.visitNum}");
visitModel.visitNum = 0;
}
);
}
}
}

View File

@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Quartz.AspNetCore" Version="3.3.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Yi.Framework.Common\Yi.Framework.Common.csproj" />
<ProjectReference Include="..\Yi.Framework.Model\Yi.Framework.Model.csproj" />
</ItemGroup>
</Project>