@Override public void flush(String queueName) { DynoQueue queue = queues.get(queueName); if (queue != null) { queue.clear(); } }
@Override public void remove(String queueName, String messageId) { queues.get(queueName).remove(messageId); }
@Override public List<String> pop(String queueName, int count, int timeout) { List<Message> msg = queues.get(queueName).pop(count, timeout, TimeUnit.MILLISECONDS); return msg.stream() .map(Message::getId) .collect(Collectors.toList()); }
public void processUnacks(String queueName) { ((RedisDynoQueue) queues.get(queueName)).processUnacks(); }
@Override public boolean setOffsetTime(String queueName, String id, long offsetTimeInSecond) { DynoQueue queue = queues.get(queueName); return queue.setTimeout(id, offsetTimeInSecond); }
@Override public boolean exists(String queueName, String id) { DynoQueue queue = queues.get(queueName); return Optional.ofNullable(queue.get(id)).isPresent(); } }
@Override public boolean ack(String queueName, String messageId) { return queues.get(queueName).ack(messageId); }
@Override public int getSize(String queueName) { return (int) queues.get(queueName).size(); }
@Override public boolean setUnackTimeout(String queueName, String messageId, long timeout) { return queues.get(queueName).setUnackTimeout(messageId, timeout); }
@Override public List<com.netflix.conductor.core.events.queue.Message> pollMessages(String queueName, int count, int timeout) { List<Message> msgs = queues.get(queueName).pop(count, timeout, TimeUnit.MILLISECONDS); return msgs.stream() .map(msg -> new com.netflix.conductor.core.events.queue.Message(msg.getId(), msg.getPayload(), null)) .collect(Collectors.toList()); }
@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 flush(String queueName) { DynoQueue queue = queues.get(queueName); if (queue != null) { queue.clear(); } }
@Override public boolean setOffsetTime(String queueName, String id, long offsetTimeInSecond) { DynoQueue queue = queues.get(queueName); return queue.setTimeout(id, offsetTimeInSecond); }
@Override public boolean exists(String queueName, String id) { DynoQueue queue = queues.get(queueName); return Optional.ofNullable(queue.get(id)).isPresent(); } }
@Override public List<String> pop(String queueName, int count, int timeout) { List<Message> msg = queues.get(queueName).pop(count, timeout, TimeUnit.MILLISECONDS); return msg.stream() .map(Message::getId) .collect(Collectors.toList()); }
@Override public List<com.netflix.conductor.core.events.queue.Message> pollMessages(String queueName, int count, int timeout) { List<Message> msgs = queues.get(queueName).pop(count, timeout, TimeUnit.MILLISECONDS); return msgs.stream() .map(msg -> new com.netflix.conductor.core.events.queue.Message(msg.getId(), msg.getPayload(), null)) .collect(Collectors.toList()); }
@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 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; }