Quartz (quartz)

quartz 端點提供由 Quartz 排程器管理的作業和觸發器資訊。

檢索註冊組

作業和觸發器以組為單位進行管理。要檢索已註冊作業和觸發器組的列表,請向 /actuator/quartz 發出 GET 請求,如以下基於 curl 的示例所示

$ curl 'https://:8080/actuator/quartz' -i -X GET

結果響應類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 120

{
  "jobs" : {
    "groups" : [ "samples", "tests" ]
  },
  "triggers" : {
    "groups" : [ "samples", "DEFAULT" ]
  }
}

響應結構

響應包含已註冊作業和觸發器的組名。下表描述了響應的結構

路徑 型別 描述

jobs.groups

陣列

作業組名陣列。

triggers.groups

陣列

觸發器組名陣列。

檢索已註冊作業名

要檢索已註冊作業名的列表,請向 /actuator/quartz/jobs 發出 GET 請求,如以下基於 curl 的示例所示

$ curl 'https://:8080/actuator/quartz/jobs' -i -X GET

結果響應類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 137

{
  "groups" : {
    "samples" : {
      "jobs" : [ "jobOne", "jobTwo" ]
    },
    "tests" : {
      "jobs" : [ "jobThree" ]
    }
  }
}

響應結構

響應包含每個組的已註冊作業名。下表描述了響應的結構

路徑 型別 描述

groups

物件

按名稱鍵控的作業組。

groups.*.jobs

陣列

作業名陣列。

檢索已註冊觸發器名

要檢索已註冊觸發器名的列表,請向 /actuator/quartz/triggers 發出 GET 請求,如以下基於 curl 的示例所示

$ curl 'https://:8080/actuator/quartz/triggers' -i -X GET

結果響應類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 229

{
  "groups" : {
    "samples" : {
      "paused" : false,
      "triggers" : [ "3am-weekdays", "every-day", "once-a-week" ]
    },
    "DEFAULT" : {
      "paused" : false,
      "triggers" : [ "every-hour-tue-thu" ]
    }
  }
}

響應結構

響應包含每個組的已註冊觸發器名。下表描述了響應的結構

路徑 型別 描述

groups

物件

按名稱鍵控的觸發器組。

groups.*.paused

布林值

此觸發器組是否已暫停。

groups.*.triggers

陣列

觸發器名陣列。

檢索作業組概述

要檢索特定組中作業的概述,請向 /actuator/quartz/jobs/{groupName} 發出 GET 請求,如以下基於 curl 的示例所示

$ curl 'https://:8080/actuator/quartz/jobs/samples' -i -X GET

前面的示例檢索 samples 組中作業的摘要。結果響應類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 201

{
  "group" : "samples",
  "jobs" : {
    "jobOne" : {
      "className" : "org.springframework.scheduling.quartz.DelegatingJob"
    },
    "jobTwo" : {
      "className" : "org.quartz.Job"
    }
  }
}

響應結構

響應包含特定組中作業的概述。下表描述了響應的結構

路徑 型別 描述

group

字串

組名。

jobs

物件

按名稱鍵控的作業詳細資訊。

jobs.*.className

字串

作業實現的完全限定名。

檢索觸發器組概述

要檢索特定組中觸發器的概述,請向 /actuator/quartz/triggers/{groupName} 發出 GET 請求,如以下基於 curl 的示例所示

$ curl 'https://:8080/actuator/quartz/triggers/tests' -i -X GET

前面的示例檢索 tests 組中觸發器的摘要。結果響應類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 1233

{
  "group" : "tests",
  "paused" : false,
  "triggers" : {
    "calendarInterval" : {
      "once-a-week" : {
        "previousFireTime" : "2020-12-02T14:00:00.000Z",
        "nextFireTime" : "2020-12-08T14:00:00.000Z",
        "priority" : 5,
        "interval" : 604800000,
        "timeZone" : "Etc/UTC"
      }
    },
    "cron" : {
      "3am-week" : {
        "previousFireTime" : "2020-12-04T03:00:00.000Z",
        "nextFireTime" : "2020-12-07T03:00:00.000Z",
        "priority" : 3,
        "expression" : "0 0 3 ? * 1,2,3,4,5",
        "timeZone" : "Europe/Paris"
      }
    },
    "custom" : {
      "once-a-year-custom" : {
        "previousFireTime" : "2020-07-14T16:00:00.000Z",
        "nextFireTime" : "2021-07-14T16:00:00.000Z",
        "priority" : 10,
        "trigger" : "com.example.CustomTrigger@fdsfsd"
      }
    },
    "dailyTimeInterval" : {
      "tue-thu" : {
        "priority" : 5,
        "interval" : 3600000,
        "daysOfWeek" : [ 3, 5 ],
        "startTimeOfDay" : "09:00:00",
        "endTimeOfDay" : "18:00:00"
      }
    },
    "simple" : {
      "every-day" : {
        "nextFireTime" : "2020-12-04T12:00:00.000Z",
        "priority" : 7,
        "interval" : 86400000
      }
    }
  }
}

響應結構

響應包含特定組中觸發器的概述。提供了觸發器實現特定的詳細資訊。下表描述了響應的結構

路徑 型別 描述

group

字串

組名。

paused

布林值

組是否已暫停。

triggers.cron

物件

按名稱鍵控的 Cron 觸發器(如果有)。

triggers.simple

物件

按名稱鍵控的簡單觸發器(如果有)。

triggers.dailyTimeInterval

物件

按名稱鍵控的每日時間間隔觸發器(如果有)。

triggers.calendarInterval

物件

按名稱鍵控的日曆間隔觸發器(如果有)。

triggers.custom

物件

按名稱鍵控的任何其他觸發器(如果有)。

triggers.cron.*.previousFireTime

字串

觸發器上次觸發的時間(如果有)。

triggers.cron.*.nextFireTime

字串

觸發器預定下次觸發的時間(如果有)。

triggers.cron.*.priority

數字

如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。

triggers.cron.*.expression

字串

要使用的 Cron 表示式。

triggers.cron.*.timeZone

字串

將解析表示式的時區(如果有)。

triggers.simple.*.previousFireTime

字串

觸發器上次觸發的時間(如果有)。

triggers.simple.*.nextFireTime

字串

觸發器預定下次觸發的時間(如果有)。

triggers.simple.*.priority

數字

如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。

triggers.simple.*.interval

數字

兩次執行之間的間隔(以毫秒為單位)。

triggers.dailyTimeInterval.*.previousFireTime

字串

觸發器上次觸發的時間(如果有)。

triggers.dailyTimeInterval.*.nextFireTime

字串

觸發器預定下次觸發的時間(如果有)。

triggers.dailyTimeInterval.*.priority

數字

如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。

triggers.dailyTimeInterval.*.interval

數字

新增到觸發時間的時間間隔(以毫秒為單位),用於計算下次觸發器重複的時間。

triggers.dailyTimeInterval.*.daysOfWeek

陣列

要觸發的星期幾陣列。

triggers.dailyTimeInterval.*.startTimeOfDay

字串

以給定間隔開始觸發的一天中的時間(如果有)。

triggers.dailyTimeInterval.*.endTimeOfDay

字串

以給定間隔完成觸發的一天中的時間(如果有)。

triggers.calendarInterval.*.previousFireTime

字串

觸發器上次觸發的時間(如果有)。

triggers.calendarInterval.*.nextFireTime

字串

觸發器預定下次觸發的時間(如果有)。

triggers.calendarInterval.*.priority

數字

如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。

triggers.calendarInterval.*.interval

數字

新增到觸發時間的時間間隔(以毫秒為單位),用於計算下次觸發器重複的時間。

triggers.calendarInterval.*.timeZone

字串

將執行時間計算的時區(如果有)。

triggers.custom.*.previousFireTime

字串

觸發器上次觸發的時間(如果有)。

triggers.custom.*.nextFireTime

字串

觸發器預定下次觸發的時間(如果有)。

triggers.custom.*.priority

數字

如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。

triggers.custom.*.trigger

字串

自定義觸發器例項的 toString 表示。

檢索作業詳情

要檢索特定作業的詳細資訊,請向 /actuator/quartz/jobs/{groupName}/{jobName} 發出 GET 請求,如以下基於 curl 的示例所示

$ curl 'https://:8080/actuator/quartz/jobs/samples/jobOne' -i -X GET

前面的示例檢索由 samples 組和 jobOne 名稱標識的作業的詳細資訊。結果響應類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 594

{
  "className" : "org.springframework.scheduling.quartz.DelegatingJob",
  "data" : {
    "password" : "secret",
    "user" : "admin"
  },
  "description" : "A sample job",
  "durable" : false,
  "group" : "samples",
  "name" : "jobOne",
  "requestRecovery" : false,
  "triggers" : [ {
    "group" : "samples",
    "name" : "every-day",
    "previousFireTime" : "2020-12-04T03:00:00.000Z",
    "nextFireTime" : "2020-12-04T12:00:00.000Z",
    "priority" : 7
  }, {
    "group" : "samples",
    "name" : "3am-weekdays",
    "nextFireTime" : "2020-12-07T03:00:00.000Z",
    "priority" : 3
  } ]
}

如果資料對映中的鍵被標識為敏感,則其值將被清理。

響應結構

響應包含作業的完整詳細資訊,包括與之關聯的觸發器的摘要(如果有)。觸發器按下次觸發時間和優先順序排序。下表描述了響應的結構

路徑 型別 描述

group

字串

組名。

name

字串

作業名稱。

描述

字串

作業描述(如果有)。

className

字串

作業實現的完全限定名。

durable

布林值

作業在成為孤立作業後是否應保留儲存。

requestRecovery

布林值

如果遇到“恢復”或“故障轉移”情況,作業是否應重新執行。

data.*

字串

作業資料對映,以鍵/值對形式(如果有)。

triggers

陣列

與作業關聯的觸發器陣列(如果有)。

triggers.[].group

字串

觸發器組名。

triggers.[].name

字串

觸發器名稱。

triggers.[].previousFireTime

字串

觸發器上次觸發的時間(如果有)。

triggers.[].nextFireTime

字串

觸發器預定下次觸發的時間(如果有)。

triggers.[].priority

數字

如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。

按需觸發 Quartz 作業

要觸發特定的 Quartz 作業,請向 /actuator/quartz/jobs/{groupName}/{jobName} 發出 POST 請求,如以下基於 curl 的示例所示

$ curl 'https://:8080/actuator/quartz/jobs/samples/jobOne' -i -X POST \
    -H 'Content-Type: application/json' \
    -d '{"state":"running"}'

前面的示例演示瞭如何觸發屬於 samples 組且名為 jobOne 的作業。

響應將類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 169

{
  "className" : "org.springframework.scheduling.quartz.DelegatingJob",
  "group" : "samples",
  "name" : "jobOne",
  "triggerTime" : "2025-11-20T16:33:57.906247204Z"
}

請求結構

請求指定與特定作業關聯的所需 state。傳送帶有 "state": "running" 主體的 HTTP 請求表示作業現在應該執行。下表描述了請求的結構

路徑 型別 描述

state

字串

作業的所需狀態。

響應結構

響應包含已觸發作業的詳細資訊。下表描述了響應的結構

路徑 型別 描述

group

字串

組名。

name

字串

作業名稱。

className

字串

作業實現的完全限定名。

triggerTime

字串

作業觸發時間。

檢索觸發器詳情

要檢索特定觸發器的詳細資訊,請向 /actuator/quartz/triggers/{groupName}/{triggerName} 發出 GET 請求,如以下基於 curl 的示例所示

$ curl 'https://:8080/actuator/quartz/triggers/samples/example' -i -X GET

前面的示例檢索由 samples 組和 example 名稱標識的觸發器的詳細資訊。

通用響應結構

響應具有通用結構和一個特定於觸發器型別的附加物件。支援五種型別

  • cron 用於 CronTrigger

  • simple 用於 SimpleTrigger

  • dailyTimeInterval 用於 DailyTimeIntervalTrigger

  • calendarInterval 用於 CalendarIntervalTrigger

  • custom 用於任何其他觸發器實現

下表描述了響應的通用元素的結構

路徑 型別 描述

group

字串

組名。

name

字串

觸發器名稱。

描述

字串

觸發器描述(如果有)。

state

字串

觸發器狀態(NONENORMALPAUSEDCOMPLETEERRORBLOCKED)。

型別

字串

觸發器型別(calendarIntervalcroncustomdailyTimeIntervalsimple)。確定包含特定型別詳細資訊的物件的鍵。

calendarName

字串

與此觸發器關聯的日曆名稱(如果有)。

startTime

字串

觸發器應生效的時間(如果有)。

endTime

字串

觸發器應停止重複的時間,無論剩餘重複次數如何(如果有)。

previousFireTime

字串

觸發器上次觸發的時間(如果有)。

nextFireTime

字串

觸發器預定下次觸發的時間(如果有)。

priority

數字

如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。

finalFireTime

字串

觸發器最後一次觸發的時間(如果有)。

data

物件

按名稱鍵控的作業資料對映(如果有)。

calendarInterval

物件

日曆時間間隔觸發器詳細資訊(如果有)。當 typecalendarInterval 時存在。

custom

物件

自定義觸發器詳細資訊(如果有)。當 typecustom 時存在。

cron

物件

Cron 觸發器詳細資訊(如果有)。當 typecron 時存在。

dailyTimeInterval

物件

每日時間間隔觸發器詳細資訊(如果有)。當 typedailyTimeInterval 時存在。

simple

物件

簡單觸發器詳細資訊(如果有)。當 typesimple 時存在。

Cron 觸發器響應結構

cron 觸發器定義了用於確定何時觸發的 cron 表示式。此類觸發器實現的響應類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 518

{
  "group" : "samples",
  "name" : "example",
  "description" : "Example trigger",
  "state" : "NORMAL",
  "type" : "cron",
  "calendarName" : "bankHolidays",
  "startTime" : "2020-11-30T17:00:00.000Z",
  "endTime" : "2020-12-30T03:00:00.000Z",
  "previousFireTime" : "2020-12-04T03:00:00.000Z",
  "nextFireTime" : "2020-12-07T03:00:00.000Z",
  "priority" : 3,
  "finalFireTime" : "2020-12-30T02:00:00.000Z",
  "data" : { },
  "cron" : {
    "expression" : "0 0 3 ? * 1,2,3,4,5",
    "timeZone" : "Europe/Paris"
  }
}

大部分響應是所有觸發器型別通用的。響應的通用元素結構前面已描述。下表描述了響應中特定於 cron 觸發器的部分結構

路徑 型別 描述

cron

物件

Cron 觸發器特定詳細資訊。

cron.expression

字串

要使用的 Cron 表示式。

cron.timeZone

字串

將解析表示式的時區(如果有)。

簡單觸發器響應結構

簡單觸發器用於在給定時間觸發作業,並可選擇以指定間隔重複。此類觸發器實現的響應類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 524

{
  "group" : "samples",
  "name" : "example",
  "description" : "Example trigger",
  "state" : "NORMAL",
  "type" : "simple",
  "calendarName" : "bankHolidays",
  "startTime" : "2020-11-30T17:00:00.000Z",
  "endTime" : "2020-12-30T03:00:00.000Z",
  "previousFireTime" : "2020-12-04T03:00:00.000Z",
  "nextFireTime" : "2020-12-07T03:00:00.000Z",
  "priority" : 7,
  "finalFireTime" : "2020-12-29T17:00:00.000Z",
  "data" : { },
  "simple" : {
    "interval" : 86400000,
    "repeatCount" : -1,
    "timesTriggered" : 0
  }
}

大部分響應是所有觸發器型別通用的。響應的通用元素結構前面已描述。下表描述了響應中特定於簡單觸發器的部分結構

路徑 型別 描述

simple

物件

簡單觸發器特定詳細資訊。

simple.interval

數字

兩次執行之間的間隔(以毫秒為單位)。

simple.repeatCount

數字

觸發器應重複的次數,或 -1 表示無限重複。

simple.timesTriggered

數字

觸發器已觸發的次數。

每日時間間隔觸發器響應結構

每日時間間隔觸發器用於根據每日重複的時間間隔觸發作業。此類觸發器實現的響應類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 642

{
  "group" : "samples",
  "name" : "example",
  "description" : "Example trigger",
  "state" : "PAUSED",
  "type" : "dailyTimeInterval",
  "calendarName" : "bankHolidays",
  "startTime" : "2020-11-30T17:00:00.000Z",
  "endTime" : "2020-12-30T03:00:00.000Z",
  "previousFireTime" : "2020-12-04T03:00:00.000Z",
  "nextFireTime" : "2020-12-07T03:00:00.000Z",
  "priority" : 5,
  "finalFireTime" : "2020-12-30T18:00:00.000Z",
  "data" : { },
  "dailyTimeInterval" : {
    "interval" : 3600000,
    "daysOfWeek" : [ 3, 5 ],
    "startTimeOfDay" : "09:00:00",
    "endTimeOfDay" : "18:00:00",
    "repeatCount" : -1,
    "timesTriggered" : 0
  }
}

大部分響應是所有觸發器型別通用的。響應的通用元素結構前面已描述。下表描述了響應中特定於每日時間間隔觸發器的部分結構

路徑 型別 描述

dailyTimeInterval

物件

每日時間間隔觸發器特定詳細資訊。

dailyTimeInterval.interval

數字

新增到觸發時間的時間間隔(以毫秒為單位),用於計算下次觸發器重複的時間。

dailyTimeInterval.daysOfWeek

陣列

要觸發的星期幾陣列。

dailyTimeInterval.startTimeOfDay

字串

以給定間隔開始觸發的一天中的時間(如果有)。

dailyTimeInterval.endTimeOfDay

字串

以給定間隔完成觸發的一天中的時間(如果有)。

dailyTimeInterval.repeatCount

數字

觸發器應重複的次數,或 -1 表示無限重複。

dailyTimeInterval.timesTriggered

數字

觸發器已觸發的次數。

日曆間隔觸發器響應結構

日曆間隔觸發器用於根據重複的日曆時間間隔觸發作業。此類觸發器實現的響應類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 644

{
  "group" : "samples",
  "name" : "example",
  "description" : "Example trigger",
  "state" : "NORMAL",
  "type" : "calendarInterval",
  "calendarName" : "bankHolidays",
  "startTime" : "2020-11-30T17:00:00.000Z",
  "endTime" : "2020-12-30T03:00:00.000Z",
  "previousFireTime" : "2020-12-04T03:00:00.000Z",
  "nextFireTime" : "2020-12-07T03:00:00.000Z",
  "priority" : 5,
  "finalFireTime" : "2020-12-28T17:00:00.000Z",
  "data" : { },
  "calendarInterval" : {
    "interval" : 604800000,
    "timeZone" : "Etc/UTC",
    "timesTriggered" : 0,
    "preserveHourOfDayAcrossDaylightSavings" : false,
    "skipDayIfHourDoesNotExist" : false
  }
}

大部分響應是所有觸發器型別通用的。響應的通用元素結構前面已描述。下表描述了響應中特定於日曆間隔觸發器的部分結構

路徑 型別 描述

calendarInterval

物件

日曆間隔觸發器特定詳細資訊。

calendarInterval.interval

數字

新增到觸發時間的時間間隔(以毫秒為單位),用於計算下次觸發器重複的時間。

calendarInterval.timeZone

字串

將執行時間計算的時區(如果有)。

calendarInterval.timesTriggered

數字

觸發器已觸發的次數。

calendarInterval.preserveHourOfDayAcrossDaylightSavings

布林值

無論夏令時轉換如何,是否在一天中的同一時間觸發。

calendarInterval.skipDayIfHourDoesNotExist

布林值

如果給定日期中不存在小時,是否跳過該天。

自定義觸發器響應結構

自定義觸發器是任何其他實現。此類觸發器實現的響應類似於以下內容

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 437

{
  "group" : "samples",
  "name" : "example",
  "description" : "Example trigger.",
  "state" : "NORMAL",
  "type" : "custom",
  "calendarName" : "bankHolidays",
  "startTime" : "2020-11-30T17:00:00.000Z",
  "endTime" : "2020-12-30T03:00:00.000Z",
  "previousFireTime" : "2020-12-04T03:00:00.000Z",
  "nextFireTime" : "2020-12-07T03:00:00.000Z",
  "priority" : 10,
  "custom" : {
    "trigger" : "com.example.CustomTrigger@fdsfsd"
  }
}

大部分響應是所有觸發器型別通用的。響應的通用元素結構前面已描述。下表描述了響應中特定於自定義觸發器的部分結構

路徑 型別 描述

custom

物件

自定義觸發器特定詳細資訊。

custom.trigger

字串

自定義觸發器例項的 toString 表示。

© . This site is unofficial and not affiliated with VMware.