c# 定时任务cron示例
2024-07-21
50
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/
更新于:3个月前赞一波!
相关文章
- C# Const 和 ReadOnly的区别
- C# 使用Barrier进行多线程同步
- C#发送邮件代码简洁示例(附源码下载)
- C# Word转换成Pdf的方法
- c#使用MongoDB开发LBS应用
- hprose for C#使用教程
- c#实现与Java无差异的GZip压缩和GZip解压缩
- .NET Core c#使用SkiaSharp压缩裁切图片去除水印
- c# decimal保留2位小数 并向下舍入
- .NET Core c#使用SkiaSharp压缩图片
- C#复制文件到指定文件夹
- c#获取枚举的Description
- c#读取pdf里的表格
- c# HttpClient下载图片
- c#使用HtmlAgilityPack编辑html并保存
- c#获取文件夹所有文件列表
- c# int数值转enum枚举
- c#获取枚举的描述Description和摘要Summary
- iOS 图片压缩方法的示例代码
- .NET C#获取客户端真实IP
文章评论
评论问答