Quartz.NET-课程1:使用Quartz

本文详细介绍如何使用Quartz.NET库实例化调度程序,启动、安排及执行定时任务。通过具体代码示例,展示了如何定义作业和触发器,实现每40秒重复执行的任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是翻译的官方教程,英语水平好的可以直接看官方原文:https://www.quartz-scheduler.net/documentation/quartz-3.x/tutorial/using-quartz.html

在使用调度程序之前,需要对其进行实例化。为此,可以使用ISchedulerFactory的继承类。

一旦调度程序被实例化,就可以将其设置为启动、等待和停止状态。请注意,一旦调度程序关闭,就不能在不重新实例化的情况下重新启动它。在调度程序启动之前,触发器不会触发(作业不执行),也不会在处于暂停状态时触发。

下面代码实例化并启动一个调度程序,并安排一个作业执行:

使用Quartz.NET

// construct a scheduler factory
NameValueCollection props = new NameValueCollection
{
    { "quartz.serializer.type", "binary" }
};
StdSchedulerFactory factory = new StdSchedulerFactory(props);

// get a scheduler
IScheduler sched = await factory.GetScheduler();
await sched.Start();

// define the job and tie it to our HelloJob class
IJobDetail job = JobBuilder.Create<HelloJob>()
    .WithIdentity("myJob", "group1")
    .Build();

// Trigger the job to run now, and then every 40 seconds
ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("myTrigger", "group1")
    .StartNow()
    .WithSimpleSchedule(x => x
        .WithIntervalInSeconds(40)
        .RepeatForever())
.Build();
  
await sched.ScheduleJob(job, trigger);

如您所见,使用Quartz.NET非常简单。在第2课中,我们将快速概述作业和触发器,以便您可以更全面地了解此示例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值