gestatus

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 26, 2020 License: BSD-2-Clause, BSD-2-Clause Imports: 5 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClusterJobs

type ClusterJobs struct {
	// contains filtered or unexported fields
}

ClusterJobs contains all jobs found in the cluster.

func GetClusterJobs

func GetClusterJobs() (clusterjobs ClusterJobs, err error)

GetClusterJobs performs internally a job status call (qstat) to the cluster to get more detailed information about the job status then what plain DRMAA offers.

func (*ClusterJobs) AllJobs

func (cjs *ClusterJobs) AllJobs() []Job

AllJobs returns a new slice of jobs found in the cluster by qstat.

type Job

type Job struct {
	Number    int64
	Priority  float64
	Name      string
	Owner     string
	State     string
	StartTime string
	QueueName string
	JobClass  string
	Slots     int64
}

Job represents the state of a job and its properties.

type JobStatus

type JobStatus struct {
	// contains filtered or unexported fields
}

JobStatus represents fine detailed job status information. It offers more details than the Job struct. The information is collected by calling qstat -j when using Grid Engine.

func GetJob

func GetJob(jobid string) (jobstat JobStatus, err error)

GetJob performs qstat -xml -j <jobid> and returns a JobStatus object for this job.

func GetJobStatus

func GetJobStatus(session *drmaa.Session, jobID string) (jobstat JobStatus, err error)

GetJobStatus returns the job status object, which contains all information about a job. In case of any error it is nil and a drmaa error is returned.

func (*JobStatus) AdvanceReservationID

func (js *JobStatus) AdvanceReservationID() int

AdvanceReservationID returns the ID of the advance reservation the job is running in. Note that this ID has no relationship to the job IDs.

func (*JobStatus) DestinationHostList

func (js *JobStatus) DestinationHostList() []string

DestinationHostList returns all host names where the job (the first task in case of array jobs) is running.

func (*JobStatus) DestinationHostListOfTask

func (js *JobStatus) DestinationHostListOfTask(task int) []string

DestinationHostListOfTask returns all hosts a parallel array job task is running on.

func (*JobStatus) DestinationQueueInstanceList

func (js *JobStatus) DestinationQueueInstanceList() []string

DestinationQueueInstanceList returns all queue instance names where the job is running. A queue instance contains a host and a "@" queue part, where the job is scheduled to.

func (*JobStatus) DestinationQueueInstanceListOfTask

func (js *JobStatus) DestinationQueueInstanceListOfTask(task int) []string

DestinationQueueInstanceListOfTask returns the queue instances of a particular array job task.

func (*JobStatus) DestinationSlotsList

func (js *JobStatus) DestinationSlotsList() []string

DestinationSlotsList returns a list of slots used on the queue instances.

func (*JobStatus) HardRequests

func (js *JobStatus) HardRequests() ([]string, []string)

HardRequests returns hard resource requests as name and value pairs. Names are the first slice the values are encoded in the second slice. TODO make a map of it...

func (*JobStatus) HasMemoryBinding

func (js *JobStatus) HasMemoryBinding() bool

HasMemoryBinding returns true in case the job has memory binding requested.

func (*JobStatus) HasNoShell

func (js *JobStatus) HasNoShell() bool

HasNoShell returns true if the job had requested -shell no.

func (*JobStatus) HasReservation

func (js *JobStatus) HasReservation() bool

HasReservation return true if the job requested a resource reservation.

func (*JobStatus) IsArrayJob

func (js *JobStatus) IsArrayJob() bool

IsArrayJob returns true in case the job is an array job.

func (*JobStatus) IsBinaryJob

func (js *JobStatus) IsBinaryJob() bool

IsBinaryJob returns the group of the job owner.

func (*JobStatus) IsImmediateJob

func (js *JobStatus) IsImmediateJob() bool

IsImmediateJob returns true in case of an interactive job or a -now y batch job.

func (*JobStatus) JobAccountName

func (js *JobStatus) JobAccountName() string

JobAccountName returns the accounting string assigned to the job.

func (*JobStatus) JobArgs

func (js *JobStatus) JobArgs() []string

JobArgs returns the job arguments as string slice.

func (*JobStatus) JobClassName

func (js *JobStatus) JobClassName() string

JobClassName returns the name of the requested job class.

func (*JobStatus) JobDeadline

func (js *JobStatus) JobDeadline() time.Time

JobDeadline returns if the job has set a deadline for starting up.

func (*JobStatus) JobGID

func (js *JobStatus) JobGID() int

JobGID returns the primary UNIX group ID of the job owner as int.

func (*JobStatus) JobGroup

func (js *JobStatus) JobGroup() string

JobGroup returns the primary UNIX group of the job owner as string.

func (*JobStatus) JobID

func (js *JobStatus) JobID() int64

JobID returns the unique Grid Engine job ID.

func (*JobStatus) JobMergesStderr

func (js *JobStatus) JobMergesStderr() bool

JobMergesStderr returns true if job merges stderr to stdout.

func (*JobStatus) JobName

func (js *JobStatus) JobName() string

JobName returns the job name (given by -N submission option).

func (*JobStatus) JobOwner

func (js *JobStatus) JobOwner() string

JobOwner returns the owner of the job as string.

func (*JobStatus) JobScript

func (js *JobStatus) JobScript() string

JobScript returns the job script name as string.

func (*JobStatus) JobUID

func (js *JobStatus) JobUID() int

JobUID returns the ower of the job as Unix UID.

func (*JobStatus) MailAdresses

func (js *JobStatus) MailAdresses() []string

MailAdresses returns all mail addresses the job is sending information about its state.

func (*JobStatus) MailOptions

func (js *JobStatus) MailOptions() string

MailOptions returns the mail options which determines on which event emails about job status change is sent.

func (*JobStatus) MemoryBinding

func (js *JobStatus) MemoryBinding() string

MemoryBinding returns the status of the actual memory binding done for the processes of the job.

func (*JobStatus) ParallelEnvironment

func (js *JobStatus) ParallelEnvironment() string

ParallelEnvironment returns the name of the parallel environment requested by a job.

func (*JobStatus) ParallelEnvironmentMax

func (js *JobStatus) ParallelEnvironmentMax() int64

ParallelEnvironmentMax returns the maximum amount of slots required by the parallel job. It is equal to ParallelEnvironmentMin() in case of a fixed amount of slots were requested (which is the standard case).

func (*JobStatus) ParallelEnvironmentMin

func (js *JobStatus) ParallelEnvironmentMin() int64

ParallelEnvironmentMin contains the amount of slots requested by a parallel jobs.

func (*JobStatus) ParallelEnvironmentStep

func (js *JobStatus) ParallelEnvironmentStep() int64

ParallelEnvironmentStep is the step size of a slot range request of a parallel job.

func (*JobStatus) PosixPriority

func (js *JobStatus) PosixPriority() int

PosixPriority returns the POSIX priority the job has requested. The default priority for the POSIX policy is 0 ranging from -1023 till 1024. Only administrators can set a positive priority.

func (*JobStatus) ResourceUsage

func (js *JobStatus) ResourceUsage(task int) ([]string, []string)

ResourceUsage returns the measurements of resource consumption by the processes of a job.

func (*JobStatus) RunTime

func (js *JobStatus) RunTime() time.Duration

RunTime return since how long is the job running. Note that the run-time is dynamically calculated assuming that the start time stamp in the cluster is in the same time zone then the actual RunTime() call. */

func (*JobStatus) StartTime

func (js *JobStatus) StartTime() time.Time

StartTime is when the job was dispatched to the execution host in order to start up the processes.

func (*JobStatus) SubmissionTime

func (js *JobStatus) SubmissionTime() time.Time

SubmissionTime is the time when the job was submitted and accepted by the cluster.

func (*JobStatus) TaskStartTime

func (js *JobStatus) TaskStartTime(taskID int) time.Time

TaskStartTime is the start time of a specific task of the job (for array jobs).

func (*JobStatus) TasksCount

func (js *JobStatus) TasksCount() int

TasksCount retursn the amount of array job tasks an job array consists of.

Directories

Path Synopsis
Package geparser contains functions for parsing Univa Grid Engine qstat -xml output.
Package geparser contains functions for parsing Univa Grid Engine qstat -xml output.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL