|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.isi.pegasus.planner.code.generator.Abstract
edu.isi.pegasus.planner.code.generator.Shell
public class Shell
This code generator generates a shell script in the submit directory. The shell script can be executed on the submit host to run the workflow locally.
| Field Summary | |
|---|---|
static String |
JOBSTATE_JOB_PREFIX
The prefix for events associated with job in jobstate.log file |
static String |
JOBSTATE_POST_SCRIPT_PREFIX
The prefix for events associated with POST_SCRIPT in jobstate.log file |
static String |
JOBSTATE_PRE_SCRIPT_PREFIX
The prefix for events associated with job in jobstate.log file |
protected GridStartFactory |
mGridStartFactory
The handle to the GridStart Factory. |
protected boolean |
mInitializeGridStart
A boolean indicating whether grid start has been initialized or not. |
private SiteStore |
mSiteStore
Handle to the Site Store. |
private PrintWriter |
mWriteHandle
The handle to the output file that is being written to. |
static String |
PEGASUS_SHELL_RUNNER_FUNCTIONS_BASENAME
|
| Fields inherited from class edu.isi.pegasus.planner.code.generator.Abstract |
|---|
mBag, mLogger, mPOptions, mProps, mSubmitFileDir |
| Fields inherited from interface edu.isi.pegasus.planner.code.CodeGenerator |
|---|
VERSION |
| Constructor Summary | |
|---|---|
Shell()
The default constructor. |
|
| Method Summary | |
|---|---|
protected String |
generateCallToCheckExitcode(Job job,
String prefix)
Generates a call to check_exitcode function that is used |
protected String |
generateCallToExecuteJob(Job job,
String scratchDirectory,
String submitDirectory)
Generates a call to execute_job function , that is used to launch a job from the shell script. |
protected String |
generateCallToExecutePostScript(Job job,
String directory)
Generates a call to execute_post_script function , that is used to launch a job from the shell script. |
Collection<File> |
generateCode(ADag dag)
Generates the code for the concrete workflow in the GRMS input format. |
void |
generateCode(ADag dag,
Job job)
Generates the code for a single job in the input format of the workflow executor being used. |
Map<String,String> |
getAdditionalBraindumpEntries(ADag workflow)
Returns a Map containing additional braindump entries that are specific to a Code Generator |
protected String |
getExecutionDirectory(Job job)
Returns the directory in which a job should be executed. |
protected String |
getPathToShellScript(ADag dag)
Returns path to the shell script that is generated |
protected String |
getScriptFooter()
Returns the footer for the generated shell script. |
protected String |
getScriptHeader(String submitDirectory)
Returns the header for the generated shell script. |
protected String |
getSubmitHostPathToShellRunnerFunctions()
Determines the path to common shell functions file that the generated shell script will use. |
void |
initialize(PegasusBag bag)
Initializes the Code Generator implementation. |
private void |
initializeWriteHandle(String filename)
It initializes the write handle to the output file. |
protected boolean |
setXBitOnFile(String file)
Sets the xbit on the file. |
protected void |
writeString(String st)
Writes a string to the associated write handle with the class |
| Methods inherited from class edu.isi.pegasus.planner.code.generator.Abstract |
|---|
getDAGFilename, getDAGFilename, getFileBaseName, getWriter, reset, startMonitoring, writeOutBraindump, writeOutDAXReplicaStore, writeOutNotifications, writeOutStampedeEvents, writeOutWorkflowMetrics |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String PEGASUS_SHELL_RUNNER_FUNCTIONS_BASENAME
public static final String JOBSTATE_JOB_PREFIX
public static final String JOBSTATE_POST_SCRIPT_PREFIX
public static final String JOBSTATE_PRE_SCRIPT_PREFIX
private PrintWriter mWriteHandle
private SiteStore mSiteStore
protected GridStartFactory mGridStartFactory
protected boolean mInitializeGridStart
| Constructor Detail |
|---|
public Shell()
| Method Detail |
|---|
public void initialize(PegasusBag bag)
throws CodeGeneratorException
initialize in interface CodeGeneratorinitialize in class Abstractbag - the bag of initialization objects.
CodeGeneratorException - in case of any error occuring code generation.
public Collection<File> generateCode(ADag dag)
throws CodeGeneratorException
dag - the concrete workflow.
CodeGeneratorException - in case of any error occuring code generation.
public void generateCode(ADag dag,
Job job)
throws CodeGeneratorException
dag - the dag of which the job is a part of.job - the Job object holding the information about
that particular job.
CodeGeneratorException - in case of any error occuring code generation.public Map<String,String> getAdditionalBraindumpEntries(ADag workflow)
getAdditionalBraindumpEntries in class Abstractworkflow - the executable workflow
protected String generateCallToCheckExitcode(Job job,
String prefix)
job - the associated jobprefix - the prefix for the jobstate.log events
protected String generateCallToExecutePostScript(Job job,
String directory)
job - the job to be launcheddirectory - the directory in which the job needs to be launched.
protected String generateCallToExecuteJob(Job job,
String scratchDirectory,
String submitDirectory)
job - the job to be launchedscratchDirectory - the workflow specific execution directory created during running of the workflowsubmitDirectory - the submit directory of the workflow
protected String getScriptHeader(String submitDirectory)
submitDirectory - the submit directory for the workflow.
protected String getSubmitHostPathToShellRunnerFunctions()
protected String getScriptFooter()
protected String getPathToShellScript(ADag dag)
dag - the workflow
private void initializeWriteHandle(String filename)
throws CodeGeneratorException
filename - the name of the file to which you want the write handle.
CodeGeneratorExceptionprotected void writeString(String st)
st - the string to be written.protected String getExecutionDirectory(Job job)
job - the job.
protected boolean setXBitOnFile(String file)
file - the file for which the xbit is to be set
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||