C# Quartz 定损执行

在 C# 中,如果你想要使用 Quartz.NET 库来安排一个任务每小时执行一次,你可以使用 StdSchedulerFactory 类来创建一个调度器(Scheduler),并配置一个 Cron 触发器(CronTrigger)。

步骤 1: 安装 Quartz.NET

Install-Package Quartz

  

步骤 2: 创建 Job 类

using Quartz;
using System.Threading.Tasks;

public class MyJob : IJob
{
    public Task Execute(IJobExecutionContext context)
    {
        // 在这里添加你的任务代码
        Console.WriteLine("任务执行时间: " + DateTime.Now);
        return Task.CompletedTask;
    }
}

  

步骤 3: 配置和启动 Scheduler

public MainWindow()
{
    InitializeComponent();
    ISchedulerFactory schedFact = new StdSchedulerFactory();
    IScheduler sched = schedFact.GetScheduler().Result;
    sched.Start();
    IJobDetail job = JobBuilder.Create<Withdrawn>()
    .WithIdentity("job1", "group1")
    .Build();

    ITrigger trigger = TriggerBuilder.Create()
        .WithIdentity("trigger1", "group1")
        .WithSimpleSchedule(x =>
        {
            x.WithIntervalInMinutes(10).RepeatForever();
        })
        .Build();

    /* 每天17:30执行
    ITrigger trigger = TriggerBuilder.Create()
        .WithIdentity("trigger1", "group1")
        .WithDailyTimeIntervalSchedule(x => x
            .WithIntervalInHours(24) // 每天执行一次
            .OnEveryDay()
            .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(17, 30))) // 每天17:30执行
        .Build();
    */

    sched.ScheduleJob(job, trigger);
}

  

posted @ 2025-11-24 22:23  microsoft-zhcn  阅读(9)  评论(0)    收藏  举报