|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.proactive.core.process.AbstractUniversalProcess
org.objectweb.proactive.core.process.AbstractExternalProcess
org.objectweb.proactive.core.process.AbstractExternalProcessDecorator
org.objectweb.proactive.core.process.oar.OARSubProcess
The OARSubProcess class is able to start any class, of the ProActive library, on a cluster managed by OAR protocol. An istance of this class can be coupled for instance with RLoginProcess or SSHProcess classes in order to log into the cluster's front end with rlogin or ssh and then to run a job with OARSubProcess.
For instance:
.............. OARSubProcess oar = new OARSubProcess(new SimpleExternalProcess("ls -lsa")); SSHProcess ssh = new SSHProcess(oar, false); ssh.setHostname("cluster_front_end_name"); ssh.startProcess(); ...............Anyway it is strongly advised to use XML Deployment files to run such processes
Nested Class Summary | |
class |
OARSubProcess.ParserMessageLogger
Implementation of a RemoteProcessMessageLogger that look for the jobID of the launched job |
Nested classes inherited from class org.objectweb.proactive.core.process.AbstractExternalProcessDecorator |
AbstractExternalProcessDecorator.CompositeMessageLogger, AbstractExternalProcessDecorator.CompositeMessageSink |
Nested classes inherited from class org.objectweb.proactive.core.process.AbstractExternalProcess |
AbstractExternalProcess.NullMessageLogger, AbstractExternalProcess.ProcessInputHandler, AbstractExternalProcess.ProcessOutputHandler, AbstractExternalProcess.SimpleMessageSink, AbstractExternalProcess.StandardOutputMessageLogger |
Field Summary | |
protected java.lang.String |
accessProtocol
|
protected static java.lang.String |
DEFAULT_HOSTS_NUMBER
|
static java.lang.String |
DEFAULT_OARSUBPATH
|
protected java.lang.String |
hostNumber
|
protected java.lang.String |
interactive
|
protected int |
jobID
|
protected java.lang.String |
queueName
|
protected java.lang.String |
resources
|
protected java.lang.String |
scriptLocation
|
protected java.lang.String |
weight
|
Fields inherited from class org.objectweb.proactive.core.process.AbstractExternalProcessDecorator |
targetProcess |
Fields inherited from class org.objectweb.proactive.core.process.AbstractExternalProcess |
clogger, closeStream, errorMessageLogger, externalProcess, FILE_TRANSFER_DEFAULT_PROTOCOL, fileTransferLogger, inputMessageLogger, IS_WINDOWS_SYSTEM, NO_COMPOSITION, outputMessageSink |
Fields inherited from class org.objectweb.proactive.core.process.AbstractUniversalProcess |
certificateLocation, command, command_path, DEFAULT_HOSTNAME, DEFAULT_USERNAME, environment, hostname, isFinished, isStarted, LOCALHOST, privateKeyLocation, securityFile, username |
Fields inherited from interface org.objectweb.proactive.core.process.ExternalProcessDecorator |
APPEND_TO_COMMAND_COMPOSITION, COPY_FILE_AND_APPEND_COMMAND, GIVE_COMMAND_AS_PARAMETER, SEND_TO_OUTPUT_STREAM_COMPOSITION |
Fields inherited from interface org.objectweb.proactive.core.process.UniversalProcess |
logger, UNKNOWN_NODE_NUMBER |
Constructor Summary | |
OARSubProcess()
|
|
OARSubProcess(ExternalProcess targetProcess)
|
Method Summary | |
UniversalProcess |
getFinalProcess()
Returns the last process of the chain |
int |
getNodeNumber()
Returns the number of nodes targeted |
java.lang.String |
getProcessId()
Returns the id of the process |
protected java.lang.String |
internalBuildCommand()
oarsub is not able to receive env variables or parameters for a script we thus rely on the following trick, the command has the form echo "real command" | qsub -I ... |
protected void |
internalStartProcess(java.lang.String commandToExecute)
|
static void |
main(java.lang.String[] args)
|
protected java.lang.String |
parseHostname(java.lang.String message)
|
void |
setAccessProtocol(java.lang.String accessProtocol)
Sets the protocol to access booked nodes. |
void |
setErrorMessageLogger(RemoteProcessMessageLogger errorMessageLogger)
sets the RemoteProcessMessageLogger handling the error stream of the process |
void |
setInteractive(java.lang.String interactive)
Allows to launch this OARSubProcess with -I (interactive option) Not yet included in the oar command |
void |
setOutputMessageSink(MessageSink outputMessageSink)
sets the MessageSink handling the output stream of the process |
void |
setQueueName(java.lang.String queueName)
Sets the value of the queue where the job will be launched. |
void |
setResources(java.lang.String res)
Set the resource option in the OAR command. |
void |
setScriptLocation(java.lang.String location)
Sets the location of the script on the remote host |
Methods inherited from class org.objectweb.proactive.core.process.AbstractExternalProcessDecorator |
buildCommand, getCompositionType, getTargetProcess, handleCopyFile, handleOutput, setCompositionType, setTargetProcess, toString |
Methods inherited from class org.objectweb.proactive.core.process.AbstractUniversalProcess |
checkStarted, getCommand, getCommandPath, getEnvironment, getHostname, getUsername, isFinished, isHierarchical, isStarted, pushProcessAttributes, setCommandPath, setEnvironment, setHostname, setUsername, startFileTransfer, startProcess, stopProcess, toString, waitFor |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.objectweb.proactive.core.process.ExternalProcess |
closeStream, getErrorMessageLogger, getFileTransferWorkShopDeploy, getFileTransferWorkShopRetrieve, getInputMessageLogger, getOutputMessageSink, setInputMessageLogger |
Methods inherited from interface org.objectweb.proactive.core.process.UniversalProcess |
getCommand, getCommandPath, getEnvironment, getHostname, getUsername, isFinished, isHierarchical, isStarted, setCommandPath, setEnvironment, setHostname, setUsername, startFileTransfer, startProcess, stopProcess, waitFor |
Field Detail |
public static final java.lang.String DEFAULT_OARSUBPATH
protected static final java.lang.String DEFAULT_HOSTS_NUMBER
protected java.lang.String hostNumber
protected java.lang.String weight
protected java.lang.String scriptLocation
protected java.lang.String interactive
protected int jobID
protected java.lang.String queueName
protected java.lang.String accessProtocol
protected java.lang.String resources
Constructor Detail |
public OARSubProcess()
public OARSubProcess(ExternalProcess targetProcess)
Method Detail |
public void setErrorMessageLogger(RemoteProcessMessageLogger errorMessageLogger)
ExternalProcess
setErrorMessageLogger
in interface ExternalProcess
setErrorMessageLogger
in class AbstractExternalProcess
public void setOutputMessageSink(MessageSink outputMessageSink)
ExternalProcess
setOutputMessageSink
in interface ExternalProcess
setOutputMessageSink
in class AbstractExternalProcess
public java.lang.String getProcessId()
UniversalProcess
UniversalProcess.getProcessId()
public int getNodeNumber()
UniversalProcess
UniversalProcess.getNodeNumber()
public UniversalProcess getFinalProcess()
UniversalProcess
UniversalProcess.getFinalProcess()
public void setScriptLocation(java.lang.String location)
location
- public void setAccessProtocol(java.lang.String accessProtocol)
accessProtocol
- public void setResources(java.lang.String res)
res
- resources to setpublic void setInteractive(java.lang.String interactive)
interactive
- true for -I option false otherwisepublic void setQueueName(java.lang.String queueName)
queueName
- protected java.lang.String parseHostname(java.lang.String message)
protected void internalStartProcess(java.lang.String commandToExecute) throws java.io.IOException
internalStartProcess
in class AbstractExternalProcessDecorator
java.io.IOException
protected java.lang.String internalBuildCommand()
internalBuildCommand
in class AbstractExternalProcessDecorator
public static void main(java.lang.String[] args)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |