use of com.netflix.dyno.queues.redis.RedisQueues in project conductor by Netflix.
the class MockQueueDAOModule method configureQueueDAO.
@Override
public void configureQueueDAO() {
DetachedMockFactory detachedMockFactory = new DetachedMockFactory();
JedisCommands jedisMock = new JedisMock();
ShardSupplier shardSupplier = new ShardSupplier() {
@Override
public Set<String> getQueueShards() {
return new HashSet<>(Collections.singletonList("a"));
}
@Override
public String getCurrentShard() {
return "a";
}
@Override
public String getShardForHost(Host host) {
return "a";
}
};
RedisQueues redisQueues = new RedisQueues(jedisMock, jedisMock, "mockedQueues", shardSupplier, 60000, 120000);
DynoQueueDAO dynoQueueDAO = new DynoQueueDAO(redisQueues);
bind(QueueDAO.class).toInstance(detachedMockFactory.Spy(dynoQueueDAO));
install(new WorkflowExecutorModule());
}
use of com.netflix.dyno.queues.redis.RedisQueues in project conductor by Netflix.
the class DynoQueueDAO method init.
@Deprecated
private void init() {
String rootNamespace = config.getProperty("workflow.namespace.queue.prefix", null);
String stack = config.getStack();
String prefix = rootNamespace + "." + stack;
if (domain != null) {
prefix = prefix + "." + domain;
}
queues = new RedisQueues(dynoClient, dynoClientRead, prefix, ss, 60_000, 60_000);
logger.info("DynoQueueDAO initialized with prefix " + prefix + "!");
}
use of com.netflix.dyno.queues.redis.RedisQueues in project conductor by Netflix.
the class RedisQueuesProvider method get.
@Override
public RedisQueues get() {
RedisQueues queues = new RedisQueues(dynoClient, dynoClientRead, configuration.getQueuePrefix(), shardSupplier, 60_000, 60_000, shardingStrategy);
logger.info("DynoQueueDAO initialized with prefix " + configuration.getQueuePrefix() + "!");
return queues;
}
use of com.netflix.dyno.queues.redis.RedisQueues in project conductor by Netflix.
the class RedisQueuesDiscoveryProvider method get.
@Override
public RedisQueues get() {
logger.info("DynoQueueDAO::INIT");
String domain = configuration.getDomain();
String cluster = configuration.getCluster();
final int readConnPort = configuration.getNonQuorumPort();
EurekaHostsSupplier hostSupplier = new EurekaHostsSupplier(cluster, discoveryClient) {
@Override
public List<Host> getHosts() {
List<Host> hosts = super.getHosts();
List<Host> updatedHosts = new ArrayList<>(hosts.size());
hosts.forEach(host -> updatedHosts.add(new HostBuilder().setHostname(host.getHostName()).setIpAddress(host.getIpAddress()).setPort(readConnPort).setRack(host.getRack()).setDatacenter(host.getDatacenter()).setStatus(host.isUp() ? Host.Status.Up : Host.Status.Down).createHost()));
return updatedHosts;
}
};
DynoJedisClient dynoClient = new DynoJedisClient.Builder().withApplicationName(configuration.getAppId()).withDynomiteClusterName(cluster).withDiscoveryClient(discoveryClient).build();
DynoJedisClient dynoClientRead = new DynoJedisClient.Builder().withApplicationName(configuration.getAppId()).withDynomiteClusterName(cluster).withHostSupplier(hostSupplier).withConnectionPoolConsistency("DC_ONE").build();
String region = configuration.getRegion();
String localDC = configuration.getAvailabilityZone();
if (localDC == null) {
throw new Error("Availability zone is not defined. " + "Ensure Configuration.getAvailabilityZone() returns a non-null and non-empty value.");
}
localDC = localDC.replaceAll(region, "");
ShardSupplier ss = new DynoShardSupplier(dynoClient.getConnPool().getConfiguration().getHostSupplier(), region, localDC);
RedisQueues queues = new RedisQueues(dynoClient, dynoClientRead, configuration.getQueuePrefix(), ss, 60_000, 60_000);
logger.info("DynoQueueDAO initialized with prefix " + configuration.getQueuePrefix() + "!");
return queues;
}
Aggregations