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 CredentialHandlerFactory |
mFactory
Handle to the Credential Factory
|
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 CredentialHandlerFactory mFactory
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