44 const char *confdir,
Int_t loglevel,
56 if (!conffile || !conffile[0]) {
58 }
else if (!strncasecmp(conffile,
"condor:", 7)) {
62 if (!confdir || !confdir[0]) {
66 Init(masterurl, conffile, confdir, loglevel);
87 if (
fImage.Length() == 0) {
88 Error(
"StartSlaves",
"Empty Condor image found for system %s",
97 TIter nextclaim(condorclaims);
98 while (
TObject *o = nextclaim()) claims.
Add(o);
103 PDB(kGlobal,1)
Info(
"StartSlaves",
"using PROOF config file: %s",
fConfFile.Data());
107 if (workerList->
GetSize() == 0) {
108 Error(
"StartSlaves",
"Found no condorworkers in %s",
fConfFile.Data());
120 while ((to = next())) {
146 << nSlavesDone << (csl != 0);
161 int nClaims = claims.
GetSize();
185 c->fPerfIdx,
c->fImage,
c->fWorkDir);
188 if (trial < ntries) {
189 if (slave && slave->
IsValid()) {
203 m <<
TString(
"Opening connections to workers") << nClaims
204 << nClaimsDone <<
kTRUE;
211 claims.
AddAt(p, idx);
214 if (p && p->
Value()) {
222 Warning(
"StartSlaves",
"could not create TSlave object!");
228 if (p && p->
Value()) {
236 m <<
TString(
"Opening connections to workers") << nClaims
237 << nClaimsDone << slave->
IsValid();
240 Warning(
"StartSlaves",
"could not create TSlave object!");
254 int nSlavesDone = 0, nSlavesTotal =
fSlaves->GetSize();
255 while ((sl = (
TSlave *) nxsl())) {
272 m <<
TString(
"Setting up worker servers") << nSlavesTotal
273 << nSlavesDone << wrkvalid;
289 PDB(kCondor,1)
Info(
"SetActive",
"-- Condor Resume --");
298 PDB(kCondor,1)
Info(
"SetActive",
"-- Delayed Condor Suspend (%d msec / to %lld) --",
300 fTimer->Connect(
"Timeout()",
"TCondor",
fCondor,
"Suspend()");
313 ad =
"JobUniverse = 5\n";
315 ad +=
Form(
"Iwd = \"%s\"\n",
gSystem->TempDirectory());
316 ad +=
"In = \"/dev/null\"\n";
317 ad +=
Form(
"Out = \"%s/proofd.out.$(Port)\"\n",
gSystem->TempDirectory());
318 ad +=
Form(
"Err = \"%s/proofd.err.$(Port)\"\n",
gSystem->TempDirectory());
R__EXTERN TProofServ * gProofServ
const char *const kPROOF_ConfFile
const char *const kPROOF_ConfDir
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
R__EXTERN TSystem * gSystem
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
void AddAt(TObject *obj, Int_t idx) override
Insert object at position idx in the list.
void Add(TObject *obj) override
TObject * Remove(TObject *obj) override
Remove object from the list.
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
TObject()
TObject constructor.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
Class used by TMap to store (key,value) pairs.
Bool_t StartSlaves(Bool_t) override
Setup Condor workers using dynamic information.
TProofCondor(const char *masterurl, const char *conffile=kPROOF_ConfFile, const char *confdir=kPROOF_ConfDir, Int_t loglevel=0, const char *alias=0, TProofMgr *mgr=0)
Start proof using condor.
~TProofCondor() override
Clean up Condor PROOF environment.
TString GetJobAd()
Get job Ad.
The PROOF manager interacts with the PROOF server coordinator to create or destroy a PROOF session,...
The purpose of this class is to provide a complete node description for masters, submasters and worke...
const TString & GetImage() const
const TString & GetWorkDir() const
Int_t GetPerfIndex() const
const TString & GetNodeName() const
The purpose of this class is to provide a standard interface to static config files.
TString GetFileName() const
TList * GetWorkers() override
Get the list of worker nodes.
void InitMembers()
Default initializations.
Int_t Init(const char *masterurl, const char *conffile, const char *confdir, Int_t loglevel, const char *alias=0)
Start the PROOF environment.
const char * GetConfDir() const
TSlave * CreateSlave(const char *url, const char *ord, Int_t perf, const char *image, const char *workdir)
Create a new TSlave of type TSlave::kSlave.
Int_t GetLogLevel() const
virtual TObject * RemoveAt(Int_t idx)
TSocket * GetSocket() const
virtual Int_t SetupServ(Int_t stype, const char *conffile)
Init a PROOF slave object.
virtual Bool_t IsValid() const
const char * Data() const
Handles synchronous and a-synchronous timer events.
void Reset()
Reset the timer.
This class represents a WWW compatible URL.