@Override public void push(String queueName, List<com.netflix.conductor.core.events.queue.Message> messages) { List<Message> msgs = messages.stream() .map(msg -> new Message(msg.getId(), msg.getPayload())) .collect(Collectors.toList()); queues.get(queueName).push(msgs); }
@Override public void push(String queueName, String id, long offsetTimeInSecond) { Message msg = new Message(id, null); msg.setTimeout(offsetTimeInSecond, TimeUnit.SECONDS); queues.get(queueName).push(Collections.singletonList(msg)); }
@Override public boolean pushIfNotExists(String queueName, String id, long offsetTimeInSecond) { DynoQueue queue = queues.get(queueName); if (queue.get(id) != null) { return false; } Message msg = new Message(id, null); msg.setTimeout(offsetTimeInSecond, TimeUnit.SECONDS); queue.push(Collections.singletonList(msg)); return true; }
@Override public void push(String queueName, List<com.netflix.conductor.core.events.queue.Message> messages) { List<Message> msgs = messages.stream() .map(msg -> new Message(msg.getId(), msg.getPayload())) .collect(Collectors.toList()); queues.get(queueName).push(msgs); }
@Override public void push(String queueName, String id, long offsetTimeInSecond) { Message msg = new Message(id, null); msg.setTimeout(offsetTimeInSecond, TimeUnit.SECONDS); queues.get(queueName).push(Collections.singletonList(msg)); }
@Override public boolean pushIfNotExists(String queueName, String id, long offsetTimeInSecond) { DynoQueue queue = queues.get(queueName); if (queue.get(id) != null) { return false; } Message msg = new Message(id, null); msg.setTimeout(offsetTimeInSecond, TimeUnit.SECONDS); queue.push(Collections.singletonList(msg)); return true; }
@Override public void run() { List<Message> messages = new LinkedList<>(); for (int i = 0; i < 10; i++) { Message msg = new Message(UUID.randomUUID().toString(), "Hello World-" + i); msg.setPriority(new Random().nextInt(98)); messages.add(msg); } if (published.get() >= count) { publishLatch.countDown(); return; } published.addAndGet(messages.size()); rdq.push(messages); } };
public void publish() { long s = System.currentTimeMillis(); int loopCount = 100; int batchSize = 3000; for (int i = 0; i < loopCount; i++) { List<Message> messages = new ArrayList<>(batchSize); for (int k = 0; k < batchSize; k++) { String id = UUID.randomUUID().toString(); Message message = new Message(id, getPayload()); messages.add(message); } queue.push(messages); } long e = System.currentTimeMillis(); long diff = e - s; long throughput = 1000 * ((loopCount * batchSize) / diff); System.out.println("Publish time: " + diff + ", throughput: " + throughput + " msg/sec"); }
messages.add(msg); queue.push(messages);
@Test public void testClearQueues() { rdq.clear(); int count = 10; List<Message> messages = new LinkedList<>(); for (int i = 0; i < count; i++) { Message msg = new Message("x" + i, "Hello World-" + i); msg.setPriority(count - i); messages.add(msg); } rdq.push(messages); assertEquals(count, rdq.size()); rdq.clear(); assertEquals(0, rdq.size()); }
messages.add(msg); rdq.push(messages);