DequeueList (TStereotypeClassQueue)
<source lang='delphi'>class function DequeueList(const iTopic:string):TQueueObjectList;</source>
Cette fonction consomme les objets suivant disponibles de la file d'attente vérifiant le sujet et retourne une liste.
Result | Une liste des objets vérifiant le sujet. |
iTopic | Nom de sujet demandé. |
Exemple :
<source lang='delphi'> //Procedure doDeQueueWithGroupBy; var obj:MyQueue; aList:TQueueObjectList; indx:Integer; aTopic,aGroupByTopic:string; begin
// In this step we dequeue and process the ready objects. // The objects are dequeued group by unCode
// Request objects in initial state in case of the queue contains multiple states aTopic := 'wfclassea/0/%';
// This is just an estimation of the count, could be false if several processes run in parallel ProgressMax(MyQueue.CountWhere('queueTopic like %1',true,[aTopic]));
obj := MyQueue.GetFirst(aTopic); Repeat if Assigned(obj) then begin // Progress indicator ProgressCount(indx);
// Get the topic on which to group by aGroupByTopic := 'wfclassea/0/'+StringPart(obj.queueTopic,'/',2)+'/%';
// Get a list of queue object with this topic aList := MyQueue.deQueueList(aGroupByTopic); // the objects may has been consumed by an other process, so we have to check it again. if Assigned(aList) and (aList.Count>0) then try // process the list of objects doProcessList(aList); aList.DeleteObjects; except // On error ReQueue the list MyQueue.ReQueueList(aList,'/0/','/99/'); end; end; obj := MyQueue.GetNext(aTopic,obj); Until not Assigned(obj); // ProgressFull();
end; </source>
Voir aussi
{{#if:Classe_file_d'attente_(stereotype)|
{{#if:Classe_file_d'attente_(stereotype)|— Classe_file_d'attente_(stereotype) |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}