JobInfo : reduced some variables, perhaps detect bad $FOAM_JOB_DIR

This commit is contained in:
Mark Olesen
2009-01-11 01:38:57 +01:00
parent c826865f92
commit 179ef86b26
2 changed files with 38 additions and 38 deletions

View File

@ -30,43 +30,52 @@ License
#include "OFstream.H" #include "OFstream.H"
#include "Pstream.H" #include "Pstream.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
bool JobInfo::writeJobInfo(debug::infoSwitch("writeJobInfo", 0)); bool Foam::JobInfo::writeJobInfo(Foam::debug::infoSwitch("writeJobInfo", 0));
Foam::JobInfo Foam::jobInfo;
JobInfo jobInfo;
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Null constructor // Null constructor
JobInfo::JobInfo() Foam::JobInfo::JobInfo()
: :
runningJobsDir_(getEnv("FOAM_JOB_DIR")/"runningJobs"), runningJobPath_(),
finishedJobsDir_(getEnv("FOAM_JOB_DIR")/"finishedJobs"), finishedJobPath_(),
jobFileName_(hostName() + '.' + Foam::name(pid())), cpuTime_()
runningJobPath_(runningJobsDir_/jobFileName_),
finishedJobPath_(finishedJobsDir_/jobFileName_)
{ {
name() = "JobInfo"; name() = "JobInfo";
if (writeJobInfo && Pstream::master()) if (writeJobInfo && Pstream::master())
{ {
if (!dir(runningJobsDir_) && !mkDir(runningJobsDir_)) string baseDir = getEnv("FOAM_JOB_DIR");
string jobFile = hostName() + '.' + Foam::name(pid());
fileName runningDir(baseDir/"runningJobs");
fileName finishedDir(baseDir/"finishedJobs");
runningJobPath_ = runningDir/jobFile;
finishedJobPath_ = finishedDir/jobFile;
if (baseDir.empty())
{ {
FatalErrorIn("JobInfo::JobInfo()") FatalErrorIn("JobInfo::JobInfo()")
<< "Cannot make JobInfo directory " << runningJobsDir_ << "Cannot get JobInfo directory $FOAM_JOB_DIR"
<< Foam::exit(FatalError); << Foam::exit(FatalError);
} }
if (!dir(finishedJobsDir_) && !mkDir(finishedJobsDir_)) if (!dir(runningDir) && !mkDir(runningDir))
{ {
FatalErrorIn("JobInfo::JobInfo()") FatalErrorIn("JobInfo::JobInfo()")
<< "Cannot make JobInfo directory " << finishedJobsDir_ << "Cannot make JobInfo directory " << runningDir
<< Foam::exit(FatalError);
}
if (!dir(finishedDir) && !mkDir(finishedDir))
{
FatalErrorIn("JobInfo::JobInfo()")
<< "Cannot make JobInfo directory " << finishedDir
<< Foam::exit(FatalError); << Foam::exit(FatalError);
} }
} }
@ -77,7 +86,7 @@ JobInfo::JobInfo()
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
JobInfo::~JobInfo() Foam::JobInfo::~JobInfo()
{ {
if (writeJobInfo && constructed && Pstream::master()) if (writeJobInfo && constructed && Pstream::master())
{ {
@ -90,13 +99,13 @@ JobInfo::~JobInfo()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool JobInfo::write(Ostream& JobInfoFile) const bool Foam::JobInfo::write(Ostream& os) const
{ {
if (writeJobInfo && Pstream::master()) if (writeJobInfo && Pstream::master())
{ {
if (JobInfoFile.good()) if (os.good())
{ {
dictionary::write(JobInfoFile, false); dictionary::write(os, false);
return true; return true;
} }
else else
@ -111,7 +120,7 @@ bool JobInfo::write(Ostream& JobInfoFile) const
} }
void JobInfo::write() const void Foam::JobInfo::write() const
{ {
if (writeJobInfo && Pstream::master()) if (writeJobInfo && Pstream::master())
{ {
@ -126,7 +135,7 @@ void JobInfo::write() const
} }
void JobInfo::end(const word& terminationType) void Foam::JobInfo::end(const word& terminationType)
{ {
if (writeJobInfo && constructed && Pstream::master()) if (writeJobInfo && constructed && Pstream::master())
{ {
@ -147,25 +156,25 @@ void JobInfo::end(const word& terminationType)
} }
void JobInfo::end() void Foam::JobInfo::end()
{ {
end("normal"); end("normal");
} }
void JobInfo::exit() void Foam::JobInfo::exit()
{ {
end("exit"); end("exit");
} }
void JobInfo::abort() void Foam::JobInfo::abort()
{ {
end("abort"); end("abort");
} }
void JobInfo::signalEnd() const void Foam::JobInfo::signalEnd() const
{ {
if (writeJobInfo && constructed && Pstream::master()) if (writeJobInfo && constructed && Pstream::master())
{ {
@ -176,8 +185,4 @@ void JobInfo::signalEnd() const
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// ************************************************************************* // // ************************************************************************* //

View File

@ -58,18 +58,13 @@ class JobInfo
public dictionary public dictionary
{ {
// Private data // Private data
fileName runningJobsDir_;
fileName finishedJobsDir_;
fileName jobFileName_;
fileName runningJobPath_; fileName runningJobPath_;
fileName finishedJobPath_; fileName finishedJobPath_;
cpuTime cpuTime_;
cpuTime cpuTime_;
// Private member functions // Private member functions
bool write(Ostream& JobInfoFile) const; bool write(Ostream&) const;
void end(const word& terminationType); void end(const word& terminationType);