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" ]
}
}
檢索已註冊作業名
要檢索已註冊作業名的列表,請向 /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" ]
}
}
}
檢索已註冊觸發器名
要檢索已註冊觸發器名的列表,請向 /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" ]
}
}
}
檢索作業組概述
要檢索特定組中作業的概述,請向 /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"
}
}
}
檢索觸發器組概述
要檢索特定組中觸發器的概述,請向 /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
}
}
}
}
響應結構
響應包含特定組中觸發器的概述。提供了觸發器實現特定的詳細資訊。下表描述了響應的結構
| 路徑 | 型別 | 描述 |
|---|---|---|
|
|
組名。 |
|
|
組是否已暫停。 |
|
|
按名稱鍵控的 Cron 觸發器(如果有)。 |
|
|
按名稱鍵控的簡單觸發器(如果有)。 |
|
|
按名稱鍵控的每日時間間隔觸發器(如果有)。 |
|
|
按名稱鍵控的日曆間隔觸發器(如果有)。 |
|
|
按名稱鍵控的任何其他觸發器(如果有)。 |
|
|
觸發器上次觸發的時間(如果有)。 |
|
|
觸發器預定下次觸發的時間(如果有)。 |
|
|
如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。 |
|
|
要使用的 Cron 表示式。 |
|
|
將解析表示式的時區(如果有)。 |
|
|
觸發器上次觸發的時間(如果有)。 |
|
|
觸發器預定下次觸發的時間(如果有)。 |
|
|
如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。 |
|
|
兩次執行之間的間隔(以毫秒為單位)。 |
|
|
觸發器上次觸發的時間(如果有)。 |
|
|
觸發器預定下次觸發的時間(如果有)。 |
|
|
如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。 |
|
|
新增到觸發時間的時間間隔(以毫秒為單位),用於計算下次觸發器重複的時間。 |
|
|
要觸發的星期幾陣列。 |
|
|
以給定間隔開始觸發的一天中的時間(如果有)。 |
|
|
以給定間隔完成觸發的一天中的時間(如果有)。 |
|
|
觸發器上次觸發的時間(如果有)。 |
|
|
觸發器預定下次觸發的時間(如果有)。 |
|
|
如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。 |
|
|
新增到觸發時間的時間間隔(以毫秒為單位),用於計算下次觸發器重複的時間。 |
|
|
將執行時間計算的時區(如果有)。 |
|
|
觸發器上次觸發的時間(如果有)。 |
|
|
觸發器預定下次觸發的時間(如果有)。 |
|
|
如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。 |
|
|
自定義觸發器例項的 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
} ]
}
如果資料對映中的鍵被標識為敏感,則其值將被清理。
響應結構
響應包含作業的完整詳細資訊,包括與之關聯的觸發器的摘要(如果有)。觸發器按下次觸發時間和優先順序排序。下表描述了響應的結構
| 路徑 | 型別 | 描述 |
|---|---|---|
|
|
組名。 |
|
|
作業名稱。 |
|
|
作業描述(如果有)。 |
|
|
作業實現的完全限定名。 |
|
|
作業在成為孤立作業後是否應保留儲存。 |
|
|
如果遇到“恢復”或“故障轉移”情況,作業是否應重新執行。 |
|
|
作業資料對映,以鍵/值對形式(如果有)。 |
|
|
與作業關聯的觸發器陣列(如果有)。 |
|
|
觸發器組名。 |
|
|
觸發器名稱。 |
|
|
觸發器上次觸發的時間(如果有)。 |
|
|
觸發器預定下次觸發的時間(如果有)。 |
|
|
如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。 |
按需觸發 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"
}
檢索觸發器詳情
要檢索特定觸發器的詳細資訊,請向 /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用於任何其他觸發器實現
下表描述了響應的通用元素的結構
| 路徑 | 型別 | 描述 |
|---|---|---|
|
|
組名。 |
|
|
觸發器名稱。 |
|
|
觸發器描述(如果有)。 |
|
|
觸發器狀態( |
|
|
觸發器型別( |
|
|
與此觸發器關聯的日曆名稱(如果有)。 |
|
|
觸發器應生效的時間(如果有)。 |
|
|
觸發器應停止重複的時間,無論剩餘重複次數如何(如果有)。 |
|
|
觸發器上次觸發的時間(如果有)。 |
|
|
觸發器預定下次觸發的時間(如果有)。 |
|
|
如果兩個觸發器具有相同的預定觸發時間,則使用的優先順序。 |
|
|
觸發器最後一次觸發的時間(如果有)。 |
|
|
按名稱鍵控的作業資料對映(如果有)。 |
|
|
日曆時間間隔觸發器詳細資訊(如果有)。當 |
|
|
自定義觸發器詳細資訊(如果有)。當 |
|
|
Cron 觸發器詳細資訊(如果有)。當 |
|
|
每日時間間隔觸發器詳細資訊(如果有)。當 |
|
|
簡單觸發器詳細資訊(如果有)。當 |
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 表示式。 |
|
|
將解析表示式的時區(如果有)。 |
簡單觸發器響應結構
簡單觸發器用於在給定時間觸發作業,並可選擇以指定間隔重複。此類觸發器實現的響應類似於以下內容
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
}
}
大部分響應是所有觸發器型別通用的。響應的通用元素結構前面已描述。下表描述了響應中特定於簡單觸發器的部分結構
| 路徑 | 型別 | 描述 |
|---|---|---|
|
|
簡單觸發器特定詳細資訊。 |
|
|
兩次執行之間的間隔(以毫秒為單位)。 |
|
|
觸發器應重複的次數,或 -1 表示無限重複。 |
|
|
觸發器已觸發的次數。 |
每日時間間隔觸發器響應結構
每日時間間隔觸發器用於根據每日重複的時間間隔觸發作業。此類觸發器實現的響應類似於以下內容
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
}
}
大部分響應是所有觸發器型別通用的。響應的通用元素結構前面已描述。下表描述了響應中特定於每日時間間隔觸發器的部分結構
| 路徑 | 型別 | 描述 |
|---|---|---|
|
|
每日時間間隔觸發器特定詳細資訊。 |
|
|
新增到觸發時間的時間間隔(以毫秒為單位),用於計算下次觸發器重複的時間。 |
|
|
要觸發的星期幾陣列。 |
|
|
以給定間隔開始觸發的一天中的時間(如果有)。 |
|
|
以給定間隔完成觸發的一天中的時間(如果有)。 |
|
|
觸發器應重複的次數,或 -1 表示無限重複。 |
|
|
觸發器已觸發的次數。 |
日曆間隔觸發器響應結構
日曆間隔觸發器用於根據重複的日曆時間間隔觸發作業。此類觸發器實現的響應類似於以下內容
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
}
}
大部分響應是所有觸發器型別通用的。響應的通用元素結構前面已描述。下表描述了響應中特定於日曆間隔觸發器的部分結構
| 路徑 | 型別 | 描述 |
|---|---|---|
|
|
日曆間隔觸發器特定詳細資訊。 |
|
|
新增到觸發時間的時間間隔(以毫秒為單位),用於計算下次觸發器重複的時間。 |
|
|
將執行時間計算的時區(如果有)。 |
|
|
觸發器已觸發的次數。 |
|
|
無論夏令時轉換如何,是否在一天中的同一時間觸發。 |
|
|
如果給定日期中不存在小時,是否跳過該天。 |
自定義觸發器響應結構
自定義觸發器是任何其他實現。此類觸發器實現的響應類似於以下內容
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"
}
}
大部分響應是所有觸發器型別通用的。響應的通用元素結構前面已描述。下表描述了響應中特定於自定義觸發器的部分結構
| 路徑 | 型別 | 描述 |
|---|---|---|
|
|
自定義觸發器特定詳細資訊。 |
|
|
自定義觸發器例項的 toString 表示。 |