Class SchedulerAdaptor
- java.lang.Object
-
- nl.esciencecenter.xenon.adaptors.Adaptor
-
- nl.esciencecenter.xenon.adaptors.schedulers.SchedulerAdaptor
-
- All Implemented Interfaces:
AdaptorDescription
,SchedulerAdaptorDescription
- Direct Known Subclasses:
LocalSchedulerAdaptor
,ScriptingSchedulerAdaptor
,SshSchedulerAdaptor
public abstract class SchedulerAdaptor extends Adaptor implements SchedulerAdaptorDescription
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ADAPTORS_PREFIX
-
Constructor Summary
Constructors Modifier Constructor Description protected
SchedulerAdaptor(java.lang.String name, java.lang.String description, java.lang.String[] locations, XenonPropertyDescription[] properties)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Scheduler
createScheduler(java.lang.String location, Credential credential, java.util.Map<java.lang.String,java.lang.String> properties)
boolean
isEmbedded()
Is this an embedded scheduler ? Embedded schedulers are implemented inside the Xenon process itself.boolean
supportsBatch()
Does this Scheduler support the submission of batch jobs ? For batch jobs the standard streams of the jobs are redirected from and to files.boolean
supportsInteractive()
Does this Scheduler supports the submission of interactive jobs ? For interactive jobs the standard streams of the job must be handled by the submitting process.boolean
usesFileSystem()
Does this Scheduler create a FileSystem to support the submission of jobs ? Many scheduler implementations use a FileSystem internally to handle job submission, for example to store submission scripts or handle the standard I/O streams of a process.-
Methods inherited from class nl.esciencecenter.xenon.adaptors.Adaptor
getDescription, getName, getNewUniqueID, getSupportedLocations, getSupportedProperties
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface nl.esciencecenter.xenon.AdaptorDescription
getDescription, getName, getSupportedCredentials, getSupportedLocations, getSupportedProperties
-
-
-
-
Field Detail
-
ADAPTORS_PREFIX
public static final java.lang.String ADAPTORS_PREFIX
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SchedulerAdaptor
protected SchedulerAdaptor(java.lang.String name, java.lang.String description, java.lang.String[] locations, XenonPropertyDescription[] properties)
-
-
Method Detail
-
isEmbedded
public boolean isEmbedded()
Description copied from interface:SchedulerAdaptorDescription
Is this an embedded scheduler ? Embedded schedulers are implemented inside the Xenon process itself. Therefore this process needs to remain active for its jobs to run. Ending an online scheduler will typically orphan or kill all jobs that were submitted to it. Non-embedded schedulers do not need to remain active for their jobs to run. A submitted job will typically be handed over to some external server that will manage the job for the rest of its lifetime.- Specified by:
isEmbedded
in interfaceSchedulerAdaptorDescription
- Returns:
- if this scheduler is embedded.
-
supportsBatch
public boolean supportsBatch()
Description copied from interface:SchedulerAdaptorDescription
Does this Scheduler support the submission of batch jobs ? For batch jobs the standard streams of the jobs are redirected from and to files.- Specified by:
supportsBatch
in interfaceSchedulerAdaptorDescription
- Returns:
- if this scheduler supports the submission of batch jobs ?
-
supportsInteractive
public boolean supportsInteractive()
Description copied from interface:SchedulerAdaptorDescription
Does this Scheduler supports the submission of interactive jobs ? For interactive jobs the standard streams of the job must be handled by the submitting process. Failing to do so may cause the job to hang indefinitely.- Specified by:
supportsInteractive
in interfaceSchedulerAdaptorDescription
- Returns:
- if this scheduler supports the submission of interactive jobs ?
-
usesFileSystem
public boolean usesFileSystem()
Description copied from interface:SchedulerAdaptorDescription
Does this Scheduler create a FileSystem to support the submission of jobs ? Many scheduler implementations use a FileSystem internally to handle job submission, for example to store submission scripts or handle the standard I/O streams of a process. This FileSystem can optionally be retrieved by the user to perform other tasks, such as staging in and output data of the job. To do so useScheduler.getFileSystem()
method.- Specified by:
usesFileSystem
in interfaceSchedulerAdaptorDescription
- Returns:
- does this
Scheduler
create a FileSystem to support the submission of jobs ?
-
createScheduler
public abstract Scheduler createScheduler(java.lang.String location, Credential credential, java.util.Map<java.lang.String,java.lang.String> properties) throws XenonException
- Throws:
XenonException
-
-