10 #include "KVBatchSystem.h"
15 #include "KVDataAnalyser.h"
16 #include "KVDataAnalysisTask.h"
54 KVError::Warning(
this,
"KVBatchSystem",
"Batch system %s has unknown job submission command: %s",
71 if (gBatchSystem ==
this)
137 command_line.
Form(
"%s %s ", fJobSubCmd.
Data(), fDefOpt.
Data());
139 for (
int i = 0; i < fParList.
GetNpar(); i++) {
141 command_line += par->
GetName();
148 command_line += fJobScript;
155 return command_line.
Data();
274 Info(
"SubmitTask",
"Task submission for analyser class : %s", da->
ClassName());
315 Info(
"ChangeDefJobOpt",
"Batch job options for this job are : %s", tmp.
Data());
354 fCurrJobName = fJobName;
370 return fCurrJobName.
Data();
383 while (!jobName.
Length()) {
384 cout <<
"Please enter the job name : ";
419 fJobName = env->
GetValue(
"BatchSystem.JobName",
"");
433 if (!strcmp(
option,
"log")) {
435 <<
" executed by batch system " <<
GetName() << endl;
437 else if (!strcmp(
option,
"all")) {
439 cout <<
" fJobSubCmd = " << fJobSubCmd.
Data() << endl;
440 cout <<
" fJobScript = " << fJobScript.
Data() << endl;
441 cout <<
" fDefOpt = " << fDefOpt.
Data() << endl;
492 nl.
SetValue(
"AutoJobNameFormat",
"$UserClass");
char * Form(const char *fmt,...)
R__EXTERN TSystem * gSystem
Base class for KaliVeda framework.
static Bool_t FindExecutable(TString &exec, const Char_t *path="$(PATH)")
void Print(Option_t *option="") const override
static TPluginHandler * LoadPlugin(const Char_t *base, const Char_t *uri="0")
Base class for interface to a batch job management system.
virtual void SubmitTask(KVDataAnalyser *da)
void SetAnalyser(KVDataAnalyser *da)
virtual void WriteBatchEnvFile(TEnv *)
void Clear(Option_t *opt="") override
virtual const Char_t * GetJobSubCmdLine()
virtual void SetJobName(const Char_t *name)
virtual void SetDefaultJobOptions(const Char_t *opt)
virtual Bool_t MultiJobsMode() const
void cd()
Make this the default batch system.
KVBatchSystem(const Char_t *name)
virtual const Char_t * GetJobName() const
virtual void SanitizeJobName() const
virtual KVList * GetListOfJobs()
static KVBatchSystem * GetBatchSystem(const Char_t *plugin)
virtual void ReadBatchEnvFile(TEnv *)
virtual void SetBatchSystemParameters(const KVNameValueList &)
Use the parameters in the list to set all relevant parameters for batch system.
virtual void SetJobScript(const Char_t *path)
void Print(Option_t *="") const override
virtual ~KVBatchSystem()
Destructor.
virtual void GetBatchSystemParameterList(KVNameValueList &)
virtual Bool_t CheckJobParameters()
Checks the job and ask for the job name if needed.
Manager class which sets up and runs data analysis tasks.
virtual TString ExpandAutoBatchName(const Char_t *format) const
virtual void WriteBatchEnvFile(const TString &, Bool_t sav=kTRUE)
virtual TString GetAnalyserClassNameForBatchJob()
KVDataAnalysisTask * GetAnalysisTask() const
Extended TList class which owns its objects by default.
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
KVNamedParameter * GetParameter(Int_t idx) const
return the parameter object with index idx
void SetValue(const Char_t *name, value_type value)
Int_t GetNpar() const
return the number of stored parameters
void Clear(Option_t *opt="") override
Bool_t GetBoolValue(const Char_t *name) const
const Char_t * GetStringValue(const Char_t *name) const
void Print(Option_t *opt="") const override
A generic named parameter storing values of different types.
const Char_t * GetString() const
TString GetTString() const
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
virtual const char * GetValue(const char *name, const char *dflt) const
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=nullptr)
virtual void SetTitle(const char *title="")
const char * GetName() const override
const char * GetTitle() const override
virtual const char * ClassName() const
virtual void Info(const char *method, const char *msgfmt,...) const
Longptr_t ExecPlugin(int nargs)
std::istream & ReadToDelim(std::istream &str, char delim='\n')
const char * Data() const
void Form(const char *fmt,...)
TString & ReplaceAll(const char *s1, const char *s2)
virtual Int_t Exec(const char *shellcmd)
virtual const char * WorkingDirectory()
virtual void Setenv(const char *name, const char *value)
virtual const char * TempDirectory() const
const run_index_t & Last() const
const run_index_t & First() const
TString as_string() const
void Warning(UserClass p, const char *location, const char *va_(fmt),...)