Example #1
0
        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);
        }
Example #2
0
        ///
        ///	 <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);
        }
Example #3
0
        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();
        }
Example #4
0
 ///
 ///	 <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));
 }