使用Quartz Job 简单的做一个定时服务
2024-09-06 22:23:57
第一步:创建一个windows服务
第二步:通过NuGet 安装Quartz (我搜索了Quartz 关键字 安装了 )
第三步 代码部分
任务类 如 多个任务 就多几个类
public class OpenJob : IJob //必须继承IJob接口并实现Execute方法
{
public void Execute(IJobExecutionContext context)
{
// Dictionary<string, string> dic = (Dictionary<string, string>)context.JobDetail.JobDataMap.Get("args");//获取参数
// 开始做自己的东西
}
}
使用方法 public partial class Service1 : ServiceBase
{
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();//获取调度器
// 表示星期日。
// Sunday = 0,
//
// 摘要:
// 表示星期一。
// Monday = 1,
//
// 摘要:
// 表示星期二。
// Tuesday = 2,
//
// 摘要:
// 表示星期三。
// Wednesday = 3,
//
// 摘要:
// 表示星期四。
Thursday = ,
//
// 摘要:
// 表示星期五。
// Friday = 5,
//
// 摘要:
// 表示星期六。
// Saturday = 6 int dayOfWeek=; int hour=; int minute=; string triggerName ="xx" ; string triggerGroupName="xxxx"; protected override void OnStart(string[] args)
{ Dictionary<string, string> args = new Dictionary<string, string>();//定义任务的字典型参数 供任务使用 var job =new OpenJob(); IJobDetail open_job = JobBuilder.Create(job .GetType()).WithIdentity(jobName, jobGroupName).Build(); open_job.JobDataMap.Put("args", args);//添加参数 给任务 ITrigger open_trigger = TriggerBuilder.Create().WithSchedule(CronScheduleBuilder.WeeklyOnDayAndHourAndMinute((DayOfWeek)dayOfWeek, hour, minute)).WithIdentity(triggerName, triggerGroupName).Build();
scheduler.ScheduleJob(open_job, open_trigger);
}}
这样就定义了一个 每周日凌晨1点0分 执行一次的 一个任务
关闭调度器方法
scheduler.Shutdown();
基本使用
最新文章
- android存储方式的应用场景
- dereverberation
- Visual Studio Code中文文档(一)-快速入门
- OD19
- 在 2016 年学 JavaScript 是一种什么样的体验?
- iis最大工作进程数
- eclipse tomcat集成开发,修改server.xml
- ubuntu下的ssh
- Kafka集群的安装和使用
- 用Mysqlbinlog备份BinLog文件
- 小白日记3:kali渗透测试之被动信息收集(二)-dig、whios、dnsenum、fierce
- Spark中shuffle的触发和调度
- eCos中的线程与同步
- 【原创】Linux 增加系统调用
- Spring4.0支持Groovy配置
- jquery插件分类与编写详细讲解
- JaveScript简单数据类型(JS知识点归纳二)
- redisson整合spring
- Ch03 数组相关操作 - 练习
- 04-树6 Complete Binary Search Tree(30 分)