Reduce hot run polling pressure

This commit is contained in:
npc0-hue
2026-09-07 20:26:20 +08:00
parent 4ab7bb820d
commit fd9dbab669
16 changed files with 335 additions and 56 deletions
+6 -1
View File
@@ -2437,14 +2437,19 @@ func (h *coreHandlers) runEndpointDetail(w http.ResponseWriter, r *http.Request)
func (h *coreHandlers) jobs(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case http.MethodGet:
limit, err := optionalPositiveInt(r.URL.Query().Get("limit"))
if err != nil || limit < 0 {
writeAPIError(w, http.StatusBadRequest, errorCodeBadRequest, "invalid job limit", nil)
return
}
filter := domain.JobFilter{
ServerInstanceID: r.URL.Query().Get("serverInstanceId"),
RunEndpointID: r.URL.Query().Get("runEndpointId"),
State: domain.JobState(r.URL.Query().Get("state")),
States: parseJobStates(r.URL.Query().Get("states")),
Limit: limit,
}
var jobs []domain.Job
var err error
if h.enforceAuthorization {
jobs, err = h.core.ListJobsForSession(bearerToken(r), filter)
} else {