public virtual VString findQueueEntries(string strJobID, string strJobPartID, VJDFAttributeMap vamParts, EnumQueueEntryStatus status) { VString vsQEntryIDs = new VString(); int entryCount = getEntryCount(); for (int i = 0; i < entryCount; i++) { JDFQueueEntry entry = getQueueEntry(i); string strQEJobID = entry.getJobID(); string strQEJobPartID = entry.getJobPartID(); VJDFAttributeMap vamQEParts = entry.getPartMapVector(); EnumQueueEntryStatus statusQE = entry.getQueueEntryStatus(); if (strJobID.Equals(strQEJobID) && strJobPartID.Equals(strQEJobPartID) && vamParts.Equals(vamQEParts)) { if ((status == null) || (status.Equals(statusQE))) { vsQEntryIDs.appendUnique(entry.getQueueEntryID()); } } } return(vsQEntryIDs); }
/// /// <summary> * return the number of entries /// * </summary> /// * <param name="qeStatus"> the queueentry status of the enries to count, if null, do not filter </param> /// * <returns> the number of active processors </returns> /// public virtual int numEntries(EnumQueueEntryStatus qeStatus) { int n = 0; JDFQueueEntry qe = (JDFQueueEntry)getFirstChildElement(ElementName.QUEUEENTRY, null); string stat = qeStatus == null ? null : qeStatus.getName(); while (qe != null) { if (stat == null || stat.Equals(qe.getAttribute(AttributeName.STATUS))) { n++; } qe = (JDFQueueEntry)qe.getNextSiblingElement(ElementName.QUEUEENTRY, null); } return(n); }
public virtual void cleanup() { VElement v = getQueueEntryVector(); if (v != null) { int siz = v.Count; int nBad = 0; for (int i = 0; i < siz; i++) { JDFQueueEntry qe = (JDFQueueEntry)v[i]; EnumQueueEntryStatus status = qe.getQueueEntryStatus(); if (EnumQueueEntryStatus.Removed.Equals(status)) { if (cleanupCallback != null) { cleanupCallback.cleanEntry(qe); } qe.deleteNode(); } else if (qe.isCompleted()) { if (nBad++ >= maxCompletedEntries) { if (cleanupCallback != null) { cleanupCallback.cleanEntry(qe); } qe.deleteNode(); } } } } setStatusFromEntries(); }
/// /// <summary> * (9.2) get StatusList attribute StatusList /// * </summary> /// * <returns> Vector of the enumerations this version uses queueEntryStatus rather than an own enumeration </returns> /// public override List <ValuedEnum> getStatusList() { return(getEnumerationsAttribute(AttributeName.STATUSLIST, null, EnumQueueEntryStatus.getEnum(0), false)); }