Cat.Business/Cat.Business.AutoJob/JobCenter.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Quartz;
using Cat.Entity.SystemManage;
using Cat.Service.SystemManage;
using Cat.Util;
using Cat.Util.Model;
using Cat.Util.Extension;
using Cat.Enum;
using Cat.Business.SystemManage;
namespace Cat.Business.AutoJob
{
public class JobCenter
{
public void Start()
{
Task.Run(async () =>
{
TData<List<AutoJobEntity>> obj = await new AutoJobBLL().GetList(null);
if (obj.Tag == 1)
{
AddScheduleJob(obj.Data);
}
});
}
#region 添加任务计划
/// <summary>
/// 添加任务计划
/// </summary>
/// <returns></returns>
private void AddScheduleJob(List<AutoJobEntity> entityList)
{
try
{
foreach (AutoJobEntity entity in entityList)
{
if (entity.StartTime == null)
{
entity.StartTime = DateTime.Now;
}
DateTimeOffset starRunTime = DateBuilder.NextGivenSecondDate(entity.StartTime, 1);
if (entity.EndTime == null)
{
entity.EndTime = DateTime.MaxValue.AddDays(-1);
}
DateTimeOffset endRunTime = DateBuilder.NextGivenSecondDate(entity.EndTime, 1);
var scheduler = JobScheduler.GetScheduler();
IJobDetail job = JobBuilder.Create<JobExecute>().WithIdentity(entity.JobName, entity.JobGroupName).Build();
job.JobDataMap.Add("Id", entity.Id);
ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
.StartAt(starRunTime)
.EndAt(endRunTime)
后面还有 34 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。