成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Quartz.NET配置文件:簡便任務調度,輕松管理

開發 后端
Quartz.NET是一個強大的開源任務調度庫,可以通過配置文件方便地進行任務配置。使用配置文件的優點在于可以將任務的調度信息與代碼分離,使得任務配置更加靈活,并且可以在不修改代碼的情況下進行調度策略的調整。

概述:Quartz.NET是一個強大的任務調度庫,支持通過配置文件靈活配置任務和觸發器。配置文件中定義了調度器、線程池、作業和觸發器的相關信息。默認情況下,Quartz.NET在應用程序根目錄查找名為 quartz.config 的配置文件。若配置文件位于其他路徑或具有不同名稱,可以通過傳遞 NameValueCollection 來指定。以下是一個簡單的示例,演示了如何使用配置文件配置兩個作業和觸發器。

Quartz.NET是一個強大的開源任務調度庫,可以通過配置文件方便地進行任務配置。使用配置文件的優點在于可以將任務的調度信息與代碼分離,使得任務配置更加靈活,并且可以在不修改代碼的情況下進行調度策略的調整。以下是一個簡單的配置文件示例,以及詳細的講解、步驟、方法和注意事項。

quartz_jobs.xml配置文件示例(quartz_jobs.xml)

<?xml version="1.0" encoding="utf-8"?>

<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 				version="2.0">

  <processing-directives>
    <overwrite-existing-data>true</overwrite-existing-data>
  </processing-directives>

  <schedule>

    <job>
      <name>Job1</name>
      <group>JobGroup</group>
      <description>Job1 Description</description>
      <job-type>Sample_Quartz2.Job1, Sample_Quartz2</job-type>
      <durable>true</durable>
      <recover>false</recover>
    </job>

    <trigger>
      <cron>
        <name>Job1Trigger</name>
        <group>JobGroup</group>
        <description>Job1每2秒執行一次</description>
        <job-name>Job1</job-name>
        <job-group>JobGroup</job-group>
        <cron-expression>0/2 * * * * ?</cron-expression>
      </cron>
    </trigger>

    <job>
      <name>Job2</name>
      <group>JobGroup</group>
      <description>Job2 Description</description>
      <job-type>Sample_Quartz2.Job2, Sample_Quartz2</job-type>
      <durable>true</durable>
      <recover>false</recover>
    </job>

    <trigger>
      <cron>
        <name>Job2Trigger</name>
        <group>JobGroup</group>
        <description>Job2每5秒執行一次</description>
        <job-name>Job2</job-name>
        <job-group>JobGroup</job-group>
        <cron-expression>0/5 * * * * ?</cron-expression>
      </cron>
    </trigger>
  </schedule>

</job-scheduling-data>

講解、步驟、方法、注意事項

配置文件結構解釋:

  • configSections: 定義配置文件的部分。
  • quartz: Quartz.NET的配置部分,定義調度器、線程池、和作業存儲等信息。
  • schedule: 定義作業和觸發器的配置信息。

配置項解釋:

  • quartz.scheduler.instanceName: 調度器的實例名稱。
  • quartz.threadPool.type: 線程池類型。
  • quartz.threadPool.threadCount: 線程池中線程的數量。
  • quartz.jobStore.type: 作業存儲類型。

作業(Job)和觸發器(Trigger)配置:

  • 每個作業和觸發器都有名稱、組、描述等屬性。
  • jobType指定作業的類型(完整類型名)。
  • cronExpression定義觸發器的調度規則。

注意事項:

  • 確保作業的類型和程序集信息正確。
  • 避免觸發器的規則沖突。
  • 注意作業的執行時間和頻率,以免影響系統性能。

Quartz.NET實現和使用實例

下面是一個簡單的作業實現(Job1.cs和Job2.cs),以及一個用于啟動調度器的實例(SchedulerExample.cs)。

Job1.cs

using Quartz;
using System;

namespace MyNamespace
{
    public class Job1 : IJob
    {
        public void Execute(IJobExecutionContext context)
        {
            Console.WriteLine("Job 1 is running at: " + DateTime.Now);
        }
    }
}

Job2.cs

using Quartz;
using System;

namespace MyNamespace
{
    public class Job2 : IJob
    {
        public void Execute(IJobExecutionContext context)
        {
            Console.WriteLine("Job 2 is running at: " + DateTime.Now);
        }
    }
}

SchedulerExample.cs

using Quartz;
using Quartz.Impl;
using System;

namespace QuartzExample
{
    class SchedulerExample
    {
        static void Main(string[] args)
        {
            ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
            IScheduler scheduler = schedulerFactory.GetScheduler().Result;

            //加載配置文件
            XMLSchedulingDataProcessor xMLSchedulingDataProcessor = new XMLSchedulingDataProcessor(new SimpleTypeLoadHelper());
            xMLSchedulingDataProcessor.ProcessFileAndScheduleJobs(AppDomain.CurrentDomain.BaseDirectory + "/quartz_jobs.xml", scheduler);

            // 啟動調度器
            scheduler.Start();

            Console.WriteLine("Scheduler started at: " + DateTime.Now);

            // 關閉調度器
            //scheduler.Shutdown();

            Console.ReadKey();
        }
    }
}

運行效果:

這個例子演示了如何使用Quartz.NET創建兩個簡單的作業,并通過配置文件指定調度規則。在實際應用中,你需要根據具體需求更改作業的邏輯和配置文件中的調度規則。

責任編輯:姜華 來源: 今日頭條
相關推薦

2023-06-29 07:55:52

Quartz.Net開源

2024-07-08 00:00:02

.NET系統調度器

2024-05-13 09:49:30

.NETQuartz庫Cron表達式

2024-09-18 05:10:00

.NETQuartz.NET框架

2009-11-17 16:46:01

PHP配置文件

2009-06-19 15:20:08

Quartz任務調度Spring

2023-08-08 08:35:28

web框架Hosting模塊

2013-05-20 10:38:02

Quartz企業級開發任務調度

2010-05-05 16:14:09

Unix管理

2024-04-26 08:11:29

.NETJSONXML

2009-07-21 10:05:10

ASP.NET配置文件

2015-02-27 09:39:25

.NETQuqrtz.NET

2021-09-30 06:31:12

Spring Boot配置密碼

2009-08-05 10:57:17

ASP.NET配置文件配置文件格式

2010-01-05 11:26:27

.net Framew

2009-12-22 17:14:37

ADO.NET Ent

2022-04-28 09:46:20

Nginx文件Linux

2024-01-19 13:40:00

TOML庫TomliPytoml

2024-03-14 08:31:29

Quartz.NE開源作業調度庫

2009-07-29 14:23:08

ASP.NET配置文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲视频在线一区 | 欧美一区二区三区四区五区无卡码 | 久久精品亚洲国产奇米99 | 亚洲一区国产精品 | 久久精品国产一区二区电影 | 色视频在线免费观看 | 亚洲精品乱码久久久久久久久久 | 亚洲福利在线观看 | 国产综合精品一区二区三区 | 中文字幕第一页在线 | 国产精品久久久久久亚洲调教 | 91xxx在线观看 | 91天堂网| 午夜理伦三级理论三级在线观看 | 99久久精品国产麻豆演员表 | 国产精品日韩 | 久久久久久久久久久蜜桃 | 欧美黄色免费网站 | 欧美日韩精品一区 | 九九热免费视频在线观看 | 欧产日产国产精品视频 | 91正在播放 | 久久久久国产精品一区三寸 | 狼色网 | 午夜影院在线观看视频 | 91久色| 成人影院免费视频 | 国产在线精品一区二区三区 | 久久久男人的天堂 | 国产线视频精品免费观看视频 | 亚洲久在线 | 一本一道久久a久久精品综合蜜臀 | 亚洲综合在线视频 | 久久精彩 | 国产一区二区欧美 | 色av一区二区三区 | 欧美日本一区二区 | 久久久久成人精品 | 国产一区二区不卡 | 男女午夜激情视频 | 亚洲国产欧美在线 |