00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <glite-api-wrapper/gLiteAPIWrapper.h>
00027
00028 #include <string>
00029
00030 #include "TGridJobStatus.h"
00031 #include "TGLiteJobStatus.h"
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 ClassImp(TGLiteJobStatus)
00044
00045 using namespace std;
00046 using namespace glite_api_wrapper;
00047
00048
00049
00050 TGLiteJobStatus::TGLiteJobStatus(TString _jobID): m_sJobID(_jobID)
00051 {
00052 }
00053
00054
00055
00056 TGridJobStatus::EGridJobStatus TGLiteJobStatus::GetStatus() const
00057 {
00058
00059
00060
00061
00062
00063 string sStatusName;
00064 string sStatusString;
00065
00066 glite::lb::JobStatus::Code code(glite::lb::JobStatus::UNDEF);
00067 try {
00068 code = CGLiteAPIWrapper::Instance().GetJobManager().JobStatus(m_sJobID, &sStatusName, &sStatusString);
00069 } catch (const exception &e) {
00070 Error("GetStatus", "Exception: %s", e.what());
00071 return kUNKNOWN;
00072 }
00073
00074 Info("GetStatus", "JobID = %s", m_sJobID.c_str());
00075 Info("GetStatus",
00076 "Job status is [%d]; gLite status code is \"%s\"; gLite status string is \"%s\"",
00077 code, sStatusName.c_str(), sStatusString.c_str());
00078 switch (code) {
00079 case glite::lb::JobStatus::DONE:
00080 case glite::lb::JobStatus::CLEARED:
00081 case glite::lb::JobStatus::PURGED:
00082 Info("GetStatus", "Job status is kDONE");
00083 return kDONE;
00084 case glite::lb::JobStatus::SUBMITTED:
00085 case glite::lb::JobStatus::WAITING:
00086 case glite::lb::JobStatus::READY:
00087 Info("GetStatus", "Job status is kWAITING");
00088 return kWAITING;
00089 case glite::lb::JobStatus::SCHEDULED:
00090 case glite::lb::JobStatus::RUNNING:
00091 Info("GetStatus", "Job status is kRUNNING");
00092 return kRUNNING;
00093 case glite::lb::JobStatus::ABORTED:
00094 Info("GetStatus", "Job status is kABORTED");
00095 return kABORTED;
00096 case glite::lb::JobStatus::CANCELLED:
00097 Info("GetStatus", "Job status is kFAIL");
00098 return kFAIL;
00099 default:
00100
00101
00102
00103 Info("GetStatus", "Job status is kUNKNOWN");
00104 return kUNKNOWN;
00105 }
00106 }