Quartz.NET 任务调度框架的demo实例

简介: ​# 1、新建项目简单实例,新建一个控制台程序# 2、Nuget安装Quartz![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231031-52d48c93.png?x-cos-security-token=baeOYKJ0BOuKXaDG6L8qKX7pdH823CLa740df95695ddd90763a204f7cd7172afjLbyfjQS2rqYm0waz5Rlsx3p2jhWg-yj9JZ3WKDq32bpX

1、新建项目

简单实例,新建一个控制台程序

2、Nuget安装Quartz

请在此添加图片描述

3、编写代码

using Quartz;
using Quartz.Impl;
using Quartz.Logging;
using System;
using System.IO;
using System.Threading.Tasks;
namespace QuartzDotNetDemo
{
   
   
    class Program
    {
   
   
        static async Task Main(string[] args)
        {
   
   
            LogProvider.SetCurrentLogProvider(new ConsoleLogProvider());
            // 获取调度程序的实例
            // 创建调度器工厂
            StdSchedulerFactory factory = new StdSchedulerFactory();
            // 创建调度器
            IScheduler scheduler = await factory.GetScheduler();
            // 启动
            await scheduler.Start();
            // 创建一个任务
            IJobDetail job = JobBuilder.Create<HelloJob>().WithIdentity("job1", "group1").Build();
            // 创建一个触发器
            ITrigger trigger = TriggerBuilder.Create().WithIdentity("trigger1", "group1").StartNow().WithSimpleSchedule(x => x.WithIntervalInSeconds(10) // 间隔10秒执行一次
                .RepeatForever()).Build();
            // 将任务与出发器添加到调度器中
            await scheduler.ScheduleJob(job, trigger);
            // 延迟60秒后启动
            await Task.Delay(TimeSpan.FromSeconds(60));
            // 关闭
            await scheduler.Shutdown();
            Console.WriteLine("Press any key to close the application");
            Console.ReadKey();
        }
    }
    /// <summary>
    /// 增加日志记录
    /// </summary>
    public class ConsoleLogProvider: ILogProvider
    {
   
   
        public Logger GetLogger(string name)
        {
   
   
            return(level, func, exception, parameters) =>
            {
   
   
                if(level >= LogLevel.Info && func != null)
                {
   
   
                    Console.WriteLine("[" + DateTime.Now.ToLongTimeString() + "] [" + level + "] " + func(), parameters);
                    }
                    return true;
                };
            }
            public IDisposable OpenMappedContext(string key, object value, bool destructure = false)
            {
   
   
                throw new NotImplementedException();
            }
            public IDisposable OpenNestedContext(string message)
            {
   
   
                throw new NotImplementedException();
            }
        }
    /// <summary>
    /// 简单的测试
    /// </summary>
    public class HelloJob: IJob
    {
   
   
        public async Task Execute(IJobExecutionContext context)
        {
   
   
            // 输出对控制台的问候
            await Console.Out.WriteLineAsync("Greetings from HelloJob!");
        }
    }
}

4、执行效果

请在此添加图片描述

5、相关链接

Quartz.Net官网文档

一个简单的实例,如有帮助,欢迎点赞关注收藏!

以上就是Quartz.NET 任务调度框架的demo实例的介绍,做此记录,如有帮助,欢迎点赞关注收藏!

目录
相关文章
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
646 26
|
C# Android开发 iOS开发
2025年全面的.NET跨平台应用框架推荐
2025年全面的.NET跨平台应用框架推荐
797 23
|
消息中间件 开发框架 监控
NET任务调度框架Hangfire使用指南
Hangfire 是一个用于 .NET 应用程序的开源任务调度框架,支持长时间运行任务、定时任务等。通过简单的安装配置,即可将任务从主线程分离,提升应用性能。支持多种数据库,提供丰富的任务类型如立即执行、延迟执行和周期性任务,并有可视化管理界面 Hangfire Dashboard。还支持安全性配置及扩展插件,如 Hangfire.HttpJob,适合各种复杂场景下的任务调度需求。
1692 1
NET任务调度框架Hangfire使用指南
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
726 5
|
传感器 人工智能 供应链
.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。
本文深入探讨了.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。通过企业级应用、Web应用及移动应用的创新案例,展示了.NET在各领域的广泛应用和巨大潜力。展望未来,.NET将与新兴技术深度融合,拓展跨平台开发,推动云原生应用发展,持续创新。
247 4
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
888 0
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
445 7
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
377 0
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
375 0
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
524 0