feat(service): add GetJob fallback to SlurmDBD history and expand query params

GetJob now falls back to SlurmDBD history when active queue returns 404 or empty jobs. Expand JobHistoryQuery from 7 to 16 filter params (add SubmitTime, Cluster, Qos, Constraints, ExitCode, Node, Reservation, Groups, Wckey).

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
dailz
2026-04-10 13:43:31 +08:00
parent b3d787c97b
commit f4177dd287
3 changed files with 245 additions and 11 deletions

View File

@@ -68,13 +68,22 @@ type JobListResponse struct {
// JobHistoryQuery contains query parameters for job history.
type JobHistoryQuery struct {
Users string `form:"users" json:"users,omitempty"`
StartTime string `form:"start_time" json:"start_time,omitempty"`
EndTime string `form:"end_time" json:"end_time,omitempty"`
Account string `form:"account" json:"account,omitempty"`
Partition string `form:"partition" json:"partition,omitempty"`
State string `form:"state" json:"state,omitempty"`
JobName string `form:"job_name" json:"job_name,omitempty"`
Page int `form:"page,default=1" json:"page,omitempty"`
PageSize int `form:"page_size,default=20" json:"page_size,omitempty"`
Users string `form:"users" json:"users,omitempty"`
StartTime string `form:"start_time" json:"start_time,omitempty"`
EndTime string `form:"end_time" json:"end_time,omitempty"`
SubmitTime string `form:"submit_time" json:"submit_time,omitempty"`
Account string `form:"account" json:"account,omitempty"`
Partition string `form:"partition" json:"partition,omitempty"`
State string `form:"state" json:"state,omitempty"`
JobName string `form:"job_name" json:"job_name,omitempty"`
Cluster string `form:"cluster" json:"cluster,omitempty"`
Qos string `form:"qos" json:"qos,omitempty"`
Constraints string `form:"constraints" json:"constraints,omitempty"`
ExitCode string `form:"exit_code" json:"exit_code,omitempty"`
Node string `form:"node" json:"node,omitempty"`
Reservation string `form:"reservation" json:"reservation,omitempty"`
Groups string `form:"groups" json:"groups,omitempty"`
Wckey string `form:"wckey" json:"wckey,omitempty"`
Page int `form:"page,default=1" json:"page,omitempty"`
PageSize int `form:"page_size,default=20" json:"page_size,omitempty"`
}