成人免费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-09-18 05:10:00

.NETQuartz.NET框架

2024-05-13 09:49:30

.NETQuartz庫Cron表達式

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配置文件

2021-09-30 06:31:12

Spring Boot配置密碼

2015-02-27 09:39:25

.NETQuqrtz.NET

2009-12-22 17:14:37

ADO.NET Ent

2009-08-05 10:57:17

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

2010-01-05 11:26:27

.net Framew

2022-04-28 09:46:20

Nginx文件Linux

2024-01-19 13:40:00

TOML庫TomliPytoml

2009-07-29 14:23:08

ASP.NET配置文件

2024-03-14 08:31:29

Quartz.NE開源作業調度庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产99 | 亚洲 中文 欧美 日韩 在线观看 | 免费亚洲婷婷 | 亚洲狠狠爱一区二区三区 | 夜夜夜夜夜夜曰天天天 | 国产xxxx岁13xxxxhd| 午夜手机在线视频 | 国产乱人伦 | 羞羞的视频在线观看 | 国产高清视频在线观看播放 | 天色综合网 | 99热碰| 黄网站在线播放 | 天天躁日日躁狠狠躁2018小说 | www.av在线 | 久久亚洲国产精品 | 欧美成人免费在线视频 | 81精品国产乱码久久久久久 | 亚洲高清在线 | 国产精品电影在线观看 | 青青青伊人 | 手机看片1 | 激情在线视频网站 | 超碰97免费在线 | 亚洲综合无码一区二区 | 亚洲精品一区二区在线观看 | 欧美激情第一区 | www.精品一区 | 日本一区二区高清视频 | 亚洲欧美精品久久 | 天天干亚洲 | 888久久久| av毛片| www.三级| 国产日韩欧美在线观看 | 成人在线视频免费看 | 欧美日韩在线观看一区二区三区 | 国产精品久久7777777 | 日日欧美| 亚洲欧洲日韩精品 中文字幕 | 欧美在线视频二区 |