edu.isi.pegasus.planner.code.generator
public class Shell extends Abstract
Modifier and Type | Field and Description |
---|---|
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 |
mBag, mLogger, mPOptions, mProps, mSubmitFileDir
VERSION
Constructor and Description |
---|
Shell()
The default constructor.
|
Modifier and Type | Method and Description |
---|---|
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
|
getDAGFilename, getDAGFilename, getFileBaseName, getWriter, reset, startMonitoring, writeOutBraindump, writeOutDAXReplicaStore, writeOutNotifications, writeOutStampedeEvents
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
public void initialize(PegasusBag bag) throws CodeGeneratorException
initialize
in interface CodeGenerator
initialize
in class Abstract
bag
- 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 Abstract
workflow
- the executable workflowprotected String generateCallToCheckExitcode(Job job, String prefix)
job
- the associated jobprefix
- the prefix for the jobstate.log eventsprotected 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 workflowprotected String getScriptHeader(String submitDirectory)
submitDirectory
- the submit directory for the workflow.protected String getSubmitHostPathToShellRunnerFunctions()
protected String getScriptFooter()
protected String getPathToShellScript(ADag dag)
dag
- the workflowprivate void initializeWriteHandle(String filename) throws CodeGeneratorException
filename
- the name of the file to which you want the write handle.CodeGeneratorException
protected 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