public class GenericJobLauncher extends TypedAtomicActor
JobLauncher actor is based on code from Norbert Podhorszki's JobCreator, JobManager, JobStatus, and JobSubmitter actors. It uses JobLauncher.properties to find the list of supported job schedulers and the corresponding support class. Additionally it can support multi task jobs
Entity.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
Parameter |
binPath
The path to the job manager commands on the target machines.
|
PortParameter |
cmdFile
The submit file to be used at job submission.
|
Parameter |
cmdFileLocal
Specifying whether the cmdFile is locally stored or on the remote target.
|
PortParameter |
cmdText
The text of the job specification.
|
Parameter |
defaultForkScript
Boolean flag to indicate if the default fork script should be staged.
|
TypedIOPort |
dependentJob
One or more jobs that must successfully complete before this job can run.
|
Parameter |
executable
The executable file to be used at job submission.
|
PortParameter |
inputfiles
The string array of inputfiles.
|
TypedIOPort |
jobID
The real job ID generated from the job scheduler.
|
TypedIOPort |
jobOut
The job is passed on in this actor.
|
Parameter |
jobSubmitOptions
The Options of the job submission.
|
TypedIOPort |
logPort
Logging information of job status query.
|
Parameter |
numTasks
The number of tasks for the job - used in a task parallel job
|
PortParameter |
remotefiles
The string array of remote input files.
|
PortParameter |
scheduler
The name of the jobmanager to be used It should be a name, for which a
supporter class exist as org.kepler.job.JobSupport
|
Parameter |
sleepWhileWaiting
Amount of time (in seconds) to sleep between checking job status.
|
TypedIOPort |
success
boolean flag to indicate if job launch was successful
|
PortParameter |
target
The machine to be used at job submission.
|
Parameter |
usegivendir
By default, Kepler creates a unique sub directory within workdir based on
the the job id it creates for the job.
|
Parameter |
waitUntil
Wait until the job has a reached specific status.
|
PortParameter |
workdir
The working directory in which the actual job submission command will be
executed (on the remote machine if the job manager is a remote
jobmanager).
|
_typesValid
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
COMPLETED, NOT_READY, STOP_ITERATING
Constructor and Description |
---|
GenericJobLauncher(CompositeEntity container,
java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
void |
attributeChanged(Attribute attribute)
React to a change in an attribute.
|
void |
fire()
fire
|
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
addInitializable, initialize, preinitialize, removeInitializable, wrapup
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
public PortParameter cmdFile
This parameter is read each time in fire().
public Parameter cmdFileLocal
This parameter is read each time in fire().
public Parameter executable
This parameter is read each time in fire().
public PortParameter workdir
It should be an absolute path, or a relative one. In the latter case on remote machine, the directory path will be relative to the user's home directory (coming from the use of ssh).
By default, a new unique sub directory is created within this workdir based on the job id created by kepler. Job is run from this sub directory. This can be overwritten by setting the parameter "use given workdir"This parameter is read each time in fire().
public Parameter usegivendir
This parameter is read each time in fire().
public PortParameter inputfiles
This parameter is read each time in fire().
public PortParameter remotefiles
This parameter is read each time in fire().
public PortParameter scheduler
public Parameter defaultForkScript
public PortParameter target
public Parameter binPath
public Parameter jobSubmitOptions
public TypedIOPort jobOut
public TypedIOPort jobID
public TypedIOPort logPort
public Parameter waitUntil
public Parameter sleepWhileWaiting
public TypedIOPort success
public PortParameter cmdText
public TypedIOPort dependentJob
public GenericJobLauncher(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class AtomicActor<TypedIOPort>
IllegalActionException
- Not thrown.public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged
in class NamedObj
attribute
- The attribute that changed.IllegalActionException
- If the change is not acceptable
to this container (not thrown in this base class).