int URLStatusModel::getClusterLoad(const char *cluster) { std::string cStatus = std::string(cluster) + std::string("load"); if (cStatus.compare("JOBload") == 0) { return mp_pStringUtil->convertStringToNumber(getValueOfField("localqueueload")); } if (cStatus.compare("WORKFLOWload") == 0) { return mp_pStringUtil->convertStringToNumber(getValueOfField("workflowqueueload")); } return mp_pStringUtil->convertStringToNumber(getValueOfField(cStatus.c_str())); }
std::list<std::string> URLStatusModel::getClusterList() { std::list<std::string> mylist; std::string clusterList = std::string(getValueOfField("clusterlist")); //just return if the list is empty or if the value returned is NA if (clusterList.empty() == true || clusterList == "NA"){ return mylist; } mylist = mp_pStringUtil->split(clusterList.c_str(),CLUSTER_LIST_DELIMITER); return mylist; }
int URLStatusModel::getClusterQueued(const char *cluster) { if (cluster == NULL){ return -2; } std::string cStatus = std::string(cluster) + std::string("jobsqueued"); if (cStatus.compare("jobsqueued") == 0){ return -2; } return mp_pStringUtil->convertStringToNumber(getValueOfField(cStatus.c_str())); }
std::list<std::string> URLStatusModel::getNews() { std::list<std::string> mylist; const char *timeStamp = getValueOfField("updatestr"); if (mp_pStringUtil->convertStringToNumber(getValueOfField("localqueuedownhosts")) > 0){ std::string downNodes; downNodes += std::string(getValueOfField("localqueuedownhosts")); downNodes += " ("+std::string(getValueOfField("localqueuepercenthostsdown"))+")"; downNodes += " compute nodes down"; mylist.push_back(downNodes); } if (mp_pStringUtil->convertStringToNumber(getValueOfField("jbossmem")) > 50){ std::string jbossMem = std::string(timeStamp); jbossMem += " -- Jboss consuming "; jbossMem += std::string(getValueOfField("jbossmem")); jbossMem += " of available memory"; mylist.push_back(jbossMem); } mylist.push_back(std::string(getValueOfField("lastportalerror"))); return mylist; }
const char *URLStatusModel::getLastWorkflowSubmission() { return getValueOfField("lastworkflow"); }
int URLStatusModel::getNumberWorkflowsRun() { return mp_pStringUtil->convertStringToNumber(getValueOfField("totalworkflowsrun")); }
const char *URLStatusModel::getLastLogin() { return getValueOfField("lastlogin"); }
int URLStatusModel::getLoggedInUsers() { return mp_pStringUtil->convertStringToNumber(getValueOfField("loggedinusers")); }
int URLStatusModel::getJobWaitTimeToRunInSeconds() { return mp_pStringUtil->convertStringToNumber(getValueOfField("avgjobwaittostart")); }
int URLStatusModel::getNumberQueuedJobs() { return mp_pStringUtil->convertStringToNumber(getValueOfField("alljobsqueuedheld")); }
int URLStatusModel::getNumberHeldWorkflows() { return mp_pStringUtil->convertStringToNumber(getValueOfField("workflowsheld")); }
int URLStatusModel::getClusterHoursRemaining(const char *cluster) { std::string cStatus = std::string(cluster) + std::string("remainhours"); return mp_pStringUtil->convertStringToNumber(getValueOfField(cStatus.c_str())); }
const char *URLStatusModel::getClusterStatus(const char *cluster) { std::string cStatus = std::string(cluster) + std::string("status"); return getValueOfField(cStatus.c_str()); }
int URLStatusModel::getClusterDisk(const char *cluster) { std::string cStatus = std::string(cluster) + std::string("diskfull"); return mp_pStringUtil->convertStringToNumber(getValueOfField(cStatus.c_str())); }
const char *URLStatusModel::getLastLine(){ return getValueOfField("lastline"); }
const char* getDateTime() { if (usedate == NULL) return (char*) ((long) getValueOfField("datetime")); else return usedate; }
int URLStatusModel::getNumberRunningJobs() { return mp_pStringUtil->convertStringToNumber(getValueOfField("alljobsrunning")); }