private void printQueueElements(ElementsTrackingQueue queue) { System.out.println("Queued: "); int count = Iterators.size(queue.getQueued()); System.out.println("# of queued: " + count); Iterator<QueuedElement> beingConsumed = queue.getBeingConsumed(); System.out.println("Being Consumed:"); while (beingConsumed.hasNext()) { QueuedElement entry = beingConsumed.next(); System.out.println(entry.getConsumerId() + ": " + entry.getElement().toString()); } System.out.println("# of being consumed: " + Iterators.size(beingConsumed)); } }
private Set<String> getIds(Iterator<QueuedElement> iter) { Set<String> out = Sets.newHashSet(); while (iter.hasNext()) { out.add(iter.next().getElement().getId()); } return out; } }
LOG.trace("Task {} with queue time {} has not timed out yet", queuedElement.getElement().getId(), queuedElement.getStatusTime()); continue; String taskId = queuedElement.getElement().getId(); ClusterTask task = clusterStore.getClusterTask(TaskId.fromString(taskId));
@Test public void testBasics() throws Exception { // "list" command executed below primarily for eye-balling ;) queue.add(new Element("elem1", "data1")); queue.add(new Element("elem2", "data2")); queue.add(new Element("elem3", "data3")); queue.take("consumer1"); Assert.assertEquals(2, getQueuedCount(queue)); Assert.assertEquals(1, Iterators.size(queue.getBeingConsumed())); String qOpts = " --zk-connection " + zkServer.getConnectionStr() + " --queue-name " + queueName; ElementsTrackingQueueCliTool.main(("list" + qOpts).split(" ")); ElementsTrackingQueueCliTool.main(("remove --element elem1" + qOpts).split(" ")); Assert.assertEquals(2, getQueuedCount(queue)); Assert.assertEquals(0, Iterators.size(queue.getBeingConsumed())); ElementsTrackingQueueCliTool.main(("list " + qOpts).split(" ")); // moving elem3 to top of the queue Assert.assertEquals("elem2", queue.getQueued().next().getElement().getId()); ElementsTrackingQueueCliTool.main(("promote --element elem3" + qOpts).split(" ")); Assert.assertEquals("elem3", queue.getQueued().next().getElement().getId()); ElementsTrackingQueueCliTool.main(("list " + qOpts).split(" ")); ElementsTrackingQueueCliTool.main(("remove --element elem2" + qOpts).split(" ")); Assert.assertEquals(1, getQueuedCount(queue)); Assert.assertEquals(0, Iterators.size(queue.getBeingConsumed())); ElementsTrackingQueueCliTool.main(("list " + qOpts).split(" ")); ElementsTrackingQueueCliTool.main(("remove_all" + qOpts).split(" ")); Assert.assertEquals(0, getQueuedCount(queue)); Assert.assertEquals(0, Iterators.size(queue.getBeingConsumed())); ElementsTrackingQueueCliTool.main(("list " + qOpts).split(" ")); }
Iterator<QueuedElement> elems = queue.getQueued(); Assert.assertEquals("work1", elems.next().getElement().getId()); Assert.assertEquals("work2", elems.next().getElement().getId()); Assert.assertEquals(1, Iterators.size(queue.getBeingConsumed())); Assert.assertEquals(1, Iterators.size(queue.getBeingConsumed())); Assert.assertEquals("work1", queue.getBeingConsumed().next().getElement().getId()); Assert.assertTrue(queue.remove(queue.getQueued().next().getElement().getId())); Assert.assertEquals(1, getQueuedCount(queue)); Assert.assertEquals(2, Iterators.size(queue.getBeingConsumed())); Assert.assertTrue(queue.remove(anyOfBeingConsumed.getElement().getId())); Assert.assertEquals(1, getQueuedCount(queue)); Assert.assertEquals(1, Iterators.size(queue.getBeingConsumed())); anyOfBeingConsumed.getElement().getId(), TrackingQueue.ConsumingStatus.IN_PROGRESS, null));