Documentation
¶
Overview ¶
Package queryapi implements the Armada server's Jobs gRPC service (the "Query API"), which serves programmatic job-status queries by reading the Lookout database (the job, job_run, job_spec and job_error tables) directly via the server's own connection pool.
The QueryApi type in query_api.go implements each RPC by issuing type-safe queries generated by sqlc (see the database subpackage).
mirror.go provides optional, opt-in server-side query mirroring: when enabled, a QueryDB wrapper replays each query against a second database in a bounded, fire-and-forget manner so that database can be evaluated under real Query API load. Mirror results and errors are discarded and never affect the primary query path.
Index ¶
- Variables
- func DbTimeToTimestamp(t pgtype.Timestamp) *types.Timestamp
- func NilStringToString(s *string) string
- type QueryApi
- func (q *QueryApi) GetActiveQueues(ctx context.Context, _ *api.GetActiveQueuesRequest) (*api.GetActiveQueuesResponse, error)
- func (q *QueryApi) GetJobDetails(ctx context.Context, req *api.JobDetailsRequest) (*api.JobDetailsResponse, error)
- func (q *QueryApi) GetJobErrors(ctx context.Context, req *api.JobErrorsRequest) (*api.JobErrorsResponse, error)
- func (q *QueryApi) GetJobRunDetails(ctx context.Context, req *api.JobRunDetailsRequest) (*api.JobRunDetailsResponse, error)
- func (q *QueryApi) GetJobStatus(ctx context.Context, req *api.JobStatusRequest) (*api.JobStatusResponse, error)
- func (q *QueryApi) GetJobStatusUsingExternalJobUri(ctx context.Context, req *api.JobStatusUsingExternalJobUriRequest) (*api.JobStatusResponse, error)
- type QueryDB
Constants ¶
This section is empty.
Variables ¶
var JobRunStateMap = map[int16]api.JobRunState{ lookout.JobRunLeasedOrdinal: api.JobRunState_RUN_STATE_LEASED, lookout.JobRunPendingOrdinal: api.JobRunState_RUN_STATE_PENDING, lookout.JobRunRunningOrdinal: api.JobRunState_RUN_STATE_RUNNING, lookout.JobRunSucceededOrdinal: api.JobRunState_RUN_STATE_SUCCEEDED, lookout.JobRunFailedOrdinal: api.JobRunState_RUN_STATE_FAILED, lookout.JobRunPreemptedOrdinal: api.JobRunState_RUN_STATE_PREEMPTED, lookout.JobRunLeaseExpiredOrdinal: api.JobRunState_RUN_STATE_LEASE_EXPIRED, lookout.JobRunLeaseReturnedOrdinal: api.JobRunState_RUNS_STATE_LEASE_RETURNED, }
JobRunStateMap is a mapping between database state and api Job Run states
var JobStateMap = map[int16]api.JobState{ lookout.JobLeasedOrdinal: api.JobState_LEASED, lookout.JobQueuedOrdinal: api.JobState_QUEUED, lookout.JobPendingOrdinal: api.JobState_PENDING, lookout.JobRunningOrdinal: api.JobState_RUNNING, lookout.JobSucceededOrdinal: api.JobState_SUCCEEDED, lookout.JobFailedOrdinal: api.JobState_FAILED, lookout.JobCancelledOrdinal: api.JobState_CANCELLED, lookout.JobPreemptedOrdinal: api.JobState_PREEMPTED, lookout.JobRejectedOrdinal: api.JobState_REJECTED, }
JobStateMap is a mapping between database state and api Job states
Functions ¶
func NilStringToString ¶
Types ¶
type QueryApi ¶
type QueryApi struct {
// contains filtered or unexported fields
}
func New ¶
func New(db QueryDB, maxQueryItems int, decompressorFactory func() compress.Decompressor) *QueryApi
func (*QueryApi) GetActiveQueues ¶ added in v0.18.0
func (q *QueryApi) GetActiveQueues(ctx context.Context, _ *api.GetActiveQueuesRequest) (*api.GetActiveQueuesResponse, error)
func (*QueryApi) GetJobDetails ¶
func (q *QueryApi) GetJobDetails(ctx context.Context, req *api.JobDetailsRequest) (*api.JobDetailsResponse, error)
func (*QueryApi) GetJobErrors ¶ added in v0.15.0
func (q *QueryApi) GetJobErrors(ctx context.Context, req *api.JobErrorsRequest) (*api.JobErrorsResponse, error)
func (*QueryApi) GetJobRunDetails ¶
func (q *QueryApi) GetJobRunDetails(ctx context.Context, req *api.JobRunDetailsRequest) (*api.JobRunDetailsResponse, error)
func (*QueryApi) GetJobStatus ¶
func (q *QueryApi) GetJobStatus(ctx context.Context, req *api.JobStatusRequest) (*api.JobStatusResponse, error)
func (*QueryApi) GetJobStatusUsingExternalJobUri ¶ added in v0.15.0
func (q *QueryApi) GetJobStatusUsingExternalJobUri(ctx context.Context, req *api.JobStatusUsingExternalJobUriRequest) (*api.JobStatusResponse, error)