首页 > 其他分享 >.netcore 使用Quartz定时任务

.netcore 使用Quartz定时任务

时间:2023-04-28 09:04:27浏览次数:39  
标签:Quartz netcore 创建 scheduler using 定时 NET

这是一个使用 .NET Core 和 Quartz.NET 实现定时任务的完整示例。首先确保已经安装了 .NET Core SDK。接下来按照以下步骤创建一个新的控制台应用程序并设置定时任务:

  1. 创建一个新的 .NET Core 控制台应用程序:

    dotnet new console -n QuartzDemo
    cd QuartzDemo
    
  2. 通过 NuGet 添加 Quartz.NET 包:

    dotnet add package Quartz --version 3.3.3
    
  3. 打开 Program.cs 文件并替换其内容:

    using System;
    using System.Threading.Tasks;
    using Quartz;
    using Quartz.Impl;
    
    namespace QuartzDemo
    {
        public class HelloWorldJob : IJob
        {
            public Task Execute(IJobExecutionContext context)
            {
                Console.WriteLine("Hello, world! " + DateTime.Now);
                
    			return Task.CompletedTask;
               }
           }
      class Program
       {
           static async Task Main(string[] args)
           {
               // 创建调度器
               StdSchedulerFactory factory = new StdSchedulerFactory();
               IScheduler scheduler = await factory.GetScheduler();
    
               // 启动调度器
               await scheduler.Start();
    
               // 创建一个作业
               IJobDetail job = JobBuilder.Create<HelloWorldJob>()
                   .WithIdentity("helloWorldJob", "group1")
                   .Build();
    
               // 创建一个触发器
               ITrigger trigger = TriggerBuilder.Create()
               .WithIdentity("helloWorldTrigger", "group1")
                       .StartNow()
                       .WithSimpleSchedule(x => x
                           .WithIntervalInSeconds(5)
                           .RepeatForever())
                       .Build();
               // 将作业和触发器添加到调度器
               await scheduler.ScheduleJob(job, trigger);
    
               // 等待用户按键以关闭
               Console.WriteLine("Press any key to close the application...");
               Console.ReadKey();
    
               // 关闭调度器
               await scheduler.Shutdown();
           }
       }
    }
              
    

    该示例创建了一个名为 HelloWorldJob 的作业,每隔 5 秒执行一次。作业的内容仅输出当前时间的 Hello, world! 消息。

  4. 运行应用程序:

    dotnet run

  5. 在控制台中,你将看到每隔 5 秒输出一次 "Hello, world!" 以及当前时间。

通过以上步骤,你已成功创建了一个使用 .NET Core 和 Quartz.NET 实现的定时任务示例。你可以根据需求自定义作业和触发器,实现更复杂的定时任务。

标签:Quartz,netcore,创建,scheduler,using,定时,NET
From: https://www.cnblogs.com/DinAction/p/17360858.html

相关文章

  • Linux-Centos 用crontab定时运行python脚本详细步骤
    服务器总是要定时运行某个程序,而我在解决这个问题的时候遇到很多困难,特此记录下来。1.编辑crontab配置crontab-e服务器一般会安装好crontab,若没有安装请按命令安装yuminstallcrontabs2.编写配置文件当打开配置文件的时候,我们可以看到类似的配置代码。每一行都代表一个......
  • 定时执行命令
    import scheduleimporttimedefjob():print('hello')schdule.every().day.at(‘10:00’).do(job) 或者:schedule.every().monday.do(job)schedule.every().wednesday.at("10:00").do(job)schedule.every().minute.at(":10").do(job)......
  • word使用技巧总结(不定时更新)
    注:本人使用的是WPS。1.两个word文档怎么并排显示窗口? “视图”--“并排显示”,可点“同步滚动”或者“重设位置”;2.保留文档修改痕迹?“审阅”--“修订”,可设置用户名等修订选项,可逐个点“接受”、“拒绝”,也可一次性全部“接受”或者“拒绝”。......
  • boot-admin整合Quartz实现动态管理定时任务
    淄博烧烤爆红出了圈,当你坐在八大局的烧烤摊,面前是火炉、烤串、小饼和蘸料,音乐响起,啤酒倒满,烧烤灵魂的party即将开场的时候,你系统中的Scheduler(调试器),也自动根据设定的Trigger(触发器),从容优雅的启动了一系列的Job(后台定时任务)。工作一切早有安排,又何须费心劳神呢?因为boot-admin早已......
  • jenkins设置定时任务
    点击任务-configure-BuildTriggers勾选定时构建,20,2917**1-5表示,每周一到周五,17点20分,17点29分各执行一次  ......
  • Django 如何使用 Celery 完成异步任务或定时任务
    以前版本的Celery需要一个单独的库(django-celery)才能与Django一起工作,但从Celery3.1开始,情况便不再如此,我们可以直接通过Celery库来完成在Django中的任务。安装Redis服务端以Docker安装为例,安装一个密码为mypassword的Redis服务端dockerrun-itd--name......
  • python创建定时任务
    1,创建每3秒执行一个定时任务importscheduledeftask():print("3秒执行一次任务")deffunc():#清空任务schedule.clear()#创建一个任务schedule.every(3).seconds.do(task)whileTrue:schedule.run_pending()if__name__=='__......
  • .net Code 定时任务
    在.NETCore中,我们可以使用Quartz.NET来实现定时任务。下面是一个简单的例子:首先,我们需要通过NuGet安装Quartz.NET:Install-PackageQuartz1.创建一个Job类,该类实现IJob接口,并实现Execute方法。该方法中编写具体的任务逻辑。usingQuartz;publicclassMyJob:IJ......
  • SQL执行定时任务JOB,包教包会
    什么是JOB?数据库中可以定时执行任务的功能组件,那就是JOB。 JOB的作用它可以按我们设置好的参数定时执行查询语句或存储过程,特别适合一些每天,每周,每月,每年这种需要循环执行任务的场景,当然每秒也是可以的! 如何创建JOB在SQLServer中有图像化的界面方便我们创建JOB,下面我带......
  • netcore 技术栈=
    学习计划.netcore工作原理(基本用法已掌握,但是要更深入一点).netcore的IOC,DI,AOP,DDDABP框架linux(常用命令,ftp)部署.netcore应用到CentOSNginx反向代理及分布式Session在容器中部署.netCore应用通过Nginx反向代理到Docker中的.netCore容器及分布式集成(Docker,K8s,Jenkins,Gi......