public class GridEngineSchedulerConnection extends SchedulerConnection
Modifier and Type | Field and Description |
---|---|
private long |
accountingGraceTime |
private java.util.Set<java.lang.Long> |
deletedJobs |
static java.lang.String |
JOB_OPTION_JOB_SCRIPT |
static java.lang.String |
JOB_OPTION_PARALLEL_ENVIRONMENT |
static java.lang.String |
JOB_OPTION_PARALLEL_SLOTS |
static java.lang.String |
JOB_OPTION_RESOURCES |
private java.util.Map<java.lang.String,java.lang.Long> |
lastSeenMap
Map with the last seen time of jobs.
|
private static org.slf4j.Logger |
LOGGER |
private GridEngineXmlParser |
parser |
private static java.lang.String |
QACCT_HEADER |
private Scheduler |
scheduler |
private GridEngineSetup |
setupInfo |
private static java.lang.String[] |
VALID_JOB_OPTIONS |
engine
Constructor and Description |
---|
GridEngineSchedulerConnection(ScriptingAdaptor adaptor,
java.lang.String scheme,
java.lang.String location,
Credential credential,
XenonProperties properties,
XenonEngine engine) |
Modifier and Type | Method and Description |
---|---|
private void |
addDeletedJob(Job job) |
JobStatus |
cancelJob(Job job) |
java.lang.String |
getDefaultQueueName() |
Job[] |
getJobs(java.lang.String... queueNames) |
JobStatus |
getJobStatus(Job job) |
private JobStatus |
getJobStatus(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> qstatInfo,
Job job)
Get job status.
|
JobStatus[] |
getJobStatuses(Job... jobs) |
protected static JobStatus |
getJobStatusFromQacctInfo(java.util.Map<java.lang.String,java.lang.String> info,
Job job) |
protected static JobStatus |
getJobStatusFromQstatInfo(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> info,
Job job) |
private java.util.Map<java.lang.String,java.lang.String> |
getQacctInfo(Job job) |
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
getQstatInfo() |
java.lang.String[] |
getQueueNames() |
QueueStatus |
getQueueStatus(java.lang.String queueName) |
QueueStatus[] |
getQueueStatuses(java.lang.String... queueNames) |
Scheduler |
getScheduler()
As the SchedulerImplementation contains the list of queues, the subclass is responsible of implementing this function
|
Streams |
getStreams(Job job) |
private boolean |
haveRecentlySeen(java.lang.String identifier) |
private void |
jobsFromStatus(java.lang.String statusOutput,
Scheduler scheduler,
java.util.List<Job> result) |
private boolean |
jobWasDeleted(Job job)
Note: Works exactly once per job.
|
Job |
submitJob(JobDescription description) |
private void |
updateJobsSeenMap(java.util.Set<java.lang.String> identifiers) |
protected static void |
verifyJobDescription(JobDescription description) |
checkQueueNames, checkWorkingDirectory, close, getFsEntryPath, getID, getNextSchedulerID, getProperties, identifiersAsCSList, runCheckedCommand, runCommand, startInteractiveCommand, supportsScheme, verifyJobDescription, verifyJobInfo, verifyJobOptions, waitUntilDone, waitUntilRunning
private static final org.slf4j.Logger LOGGER
public static final java.lang.String JOB_OPTION_JOB_SCRIPT
public static final java.lang.String JOB_OPTION_PARALLEL_ENVIRONMENT
public static final java.lang.String JOB_OPTION_PARALLEL_SLOTS
public static final java.lang.String JOB_OPTION_RESOURCES
private static final java.lang.String[] VALID_JOB_OPTIONS
private static final java.lang.String QACCT_HEADER
private final long accountingGraceTime
private final java.util.Map<java.lang.String,java.lang.Long> lastSeenMap
private final java.util.Set<java.lang.Long> deletedJobs
private final Scheduler scheduler
private final GridEngineXmlParser parser
private final GridEngineSetup setupInfo
GridEngineSchedulerConnection(ScriptingAdaptor adaptor, java.lang.String scheme, java.lang.String location, Credential credential, XenonProperties properties, XenonEngine engine) throws XenonException
XenonException
protected static void verifyJobDescription(JobDescription description) throws XenonException
XenonException
protected static JobStatus getJobStatusFromQacctInfo(java.util.Map<java.lang.String,java.lang.String> info, Job job) throws XenonException
XenonException
protected static JobStatus getJobStatusFromQstatInfo(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> info, Job job) throws XenonException
XenonException
public Scheduler getScheduler()
SchedulerConnection
getScheduler
in class SchedulerConnection
public java.lang.String[] getQueueNames()
getQueueNames
in class SchedulerConnection
public java.lang.String getDefaultQueueName()
getDefaultQueueName
in class SchedulerConnection
private void updateJobsSeenMap(java.util.Set<java.lang.String> identifiers)
private boolean haveRecentlySeen(java.lang.String identifier)
private void addDeletedJob(Job job)
private boolean jobWasDeleted(Job job)
private void jobsFromStatus(java.lang.String statusOutput, Scheduler scheduler, java.util.List<Job> result) throws XenonException
XenonException
public Job[] getJobs(java.lang.String... queueNames) throws XenonException
getJobs
in class SchedulerConnection
XenonException
public QueueStatus getQueueStatus(java.lang.String queueName) throws XenonException
getQueueStatus
in class SchedulerConnection
XenonException
public QueueStatus[] getQueueStatuses(java.lang.String... queueNames) throws XenonException
getQueueStatuses
in class SchedulerConnection
XenonException
public Job submitJob(JobDescription description) throws XenonException
submitJob
in class SchedulerConnection
XenonException
public JobStatus cancelJob(Job job) throws XenonException
cancelJob
in class SchedulerConnection
XenonException
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> getQstatInfo() throws XenonException
XenonException
private java.util.Map<java.lang.String,java.lang.String> getQacctInfo(Job job) throws XenonException
XenonException
private JobStatus getJobStatus(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> qstatInfo, Job job) throws XenonException
qstatInfo
- the info to get the job status from.job
- the job to get the status for.XenonException
- in case the info is not valid.XenonException
- in case an additional command fails to run.public JobStatus getJobStatus(Job job) throws XenonException
getJobStatus
in class SchedulerConnection
XenonException
public JobStatus[] getJobStatuses(Job... jobs) throws XenonException
getJobStatuses
in class SchedulerConnection
XenonException
public Streams getStreams(Job job) throws XenonException
getStreams
in class SchedulerConnection
XenonException