<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -7,9 +7,12 @@ VertexDB Queue := Object clone do(
 	target ::= nil
 	messageName ::= nil
 	expiresActive ::= true
-	concurrency ::= 10
+	concurrency ::= 1
 	node ::= nil
 	qNodes ::= nil
+	itemsPerProcess ::= nil //if non nil then process at most itemsPerProcess
+	jobs ::= nil
+	processedCount ::= 0
 	
 	waitingNode ::= method(node nodeAt(&quot;waiting&quot;))
 	activeNode ::= method(node nodeAt(&quot;active&quot;))
@@ -52,12 +55,17 @@ VertexDB Queue := Object clone do(
 	
 	jobError ::= nil
 	
+	processCountLimited := method(
+		if(itemsPerProcess, processedCount &gt;= itemsPerProcess, false)
+	)
+	
 	process := method(
 		setJobError(nil)
 		if(expiresActive, expireActive)
 		processedOne := false
-		self jobs := List clone
-		while(k := waitingNode queueToNode(activeNode),
+		setJobs(List clone)
+		setProcessedCount(0)
+		while(processCountLimited not and (k := waitingNode queueToNode(activeNode)),
 			debugWriteln(&quot;waitingNode&lt;&quot;, waitingNode path, &quot;&gt; queueToNode(&lt;&quot;, activeNode path, &quot;&gt;) == &lt;&quot;, k, &quot;&gt;&quot;)
 			if(k == nil, break)
 			debugWriteln(&quot;jobs size: &quot;, jobs size)
@@ -113,6 +121,7 @@ VertexDB Queue := Object clone do(
 	)
 	
 	finishedJob := method(job,
+		setProcessedCount(processedCount + 1)
 		self jobs remove(job)
 	)
 	</diff>
      <filename>addons/VertexDB/io/protos/Queue.io</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>bd050fa9ccf225a6a8794495f4e348d525731ace</id>
    </parent>
  </parents>
  <author>
    <name>Rich Collins</name>
    <email>richcollins@gmail.com</email>
  </author>
  <url>http://github.com/stevedekorte/io/commit/8104948b668b605bf5d0af7350502941cfe13de8</url>
  <id>8104948b668b605bf5d0af7350502941cfe13de8</id>
  <committed-date>2009-10-30T16:55:55-07:00</committed-date>
  <authored-date>2009-10-30T16:55:55-07:00</authored-date>
  <message>VertexDB: Queue: Use default concurrency of 1.  Added maxItemsPerProcess</message>
  <tree>417d48107e5a4d0612fa4f154fcf1828688b64e0</tree>
  <committer>
    <name>Rich Collins</name>
    <email>richcollins@gmail.com</email>
  </committer>
</commit>
