c# 定时任务cron示例
2024-07-21
38
C#中使用Cron表达式设置定时任务示例:
1. 使用第三方库
Quartz.NET
// 使用 Quartz.NET 库
// 定义 Cron表达式
string cronExpression = "0 0/1 * * * ?"; // 每分钟执行一次
// 创建 JobDetail
JobDetail jobDetail = new JobDetailImpl("myJob", "myGroup", typeof(MyJob));
// 创建 Trigger
Trigger trigger = new CronTriggerImpl("myTrigger", "myGroup", cronExpression);
// 将 JobDetail 和 Trigger 添加到 Scheduler
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.ScheduleJob(jobDetail, trigger);
// 启动 Scheduler
scheduler.Start();
2. 使用原生方法
// 使用原生方法
// 定义 Cron表达式
string cronExpression = "0 0/1 * * * ?"; // 每分钟执行一次
// 解析 Cron表达式
CronExpression cron = CronExpression.Parse(cronExpression);
// 创建计时器
Timer timer = new Timer(new TimerCallback(OnTimer), null, 0, cron.GetNextSecond(DateTime.Now));
// 定时器回调函数
private void OnTimer(object state)
{
// 您的代码
}
示例说明:
以上示例使用两种方法在 C#中设置定时任务:
使用第三方库 Quartz.NET 使用原生方法两者都需要定义 Cron表达式,Cron表达式用于指定定时任务的执行时间。
Quartz.NET 库提供了更强大的功能,例如可以设置 JobDetail 和 Trigger 的各种属性。
原生方法相对简单,但功能有限。
其他注意事项:
Cron表达式由六个或七个字段组成,分别表示秒、分、时、日、月、周、年 Cron表达式中的每个字段可以使用以下通配符: *:表示所有值 ?:表示不指定 -:表示范围 /:表示间隔例如,"0 0/1 * * * ?" 表示每分钟执行一次
更多信息:
Quartz.NET 官方文档:https://www.quartz-scheduler.net/
Cron表达式教程:https://crontab.guru/
更新于:2个月前赞一波!
相关文章
- 基于C#开发的socket扩展库SuperSocket用法
- c#反编译工具推荐
- c#网页保存为图片
- C# dynamic和object的区别
- C# KeyPress和KeyDown的区别
- C#中使用Cancellation取消异步任务
- C#检测文件夹内的文件变化
- C#12最新语法糖示例
- C#最新命名规范
- TP6.0 搜索器使用示例
- .NET(C#)常用表单验证正则表达式
- .NET Core连接和操作MongoDB用法示例
- C#正则表达式获取图片src
- C#修改注册表信息示例
- C#中静态函数的使用
- C#内存转储Dump文件用法
- C#把文本中的data:image转成图片
- C#中内置的泛型委托Func和Action用法
- C#快速实现PDF转PPT
- C#设置Cookie的路径和过期时间
文章评论
全部评论