summaryrefslogtreecommitdiff
path: root/lib/farside.ex
diff options
context:
space:
mode:
authorBen Busby <noreply+git@benbusby.com>2021-11-10 10:47:04 -0700
committerBen Busby <noreply+git@benbusby.com>2021-11-10 10:47:04 -0700
commit2189c9ddcaa3bda8117550e2dc2bc531f793e910 (patch)
tree41a4ae6f7b4b378b7c3400aeefc8fb8fc6e0acc4 /lib/farside.ex
parent85123cb52427532f33f5558b0aa94728b7cb2f66 (diff)
downloadfarside-2189c9ddcaa3bda8117550e2dc2bc531f793e910.tar.gz
Simplify retrieval of service keys from redis
Can just use a wildcard in the initial keys query, rather than grabbing all keys and filtering by service prefix.
Diffstat (limited to 'lib/farside.ex')
-rw-r--r--lib/farside.ex11
1 files changed, 1 insertions, 10 deletions
diff --git a/lib/farside.ex b/lib/farside.ex
index 9432406..f87706a 100644
--- a/lib/farside.ex
+++ b/lib/farside.ex
@@ -2,16 +2,7 @@ defmodule Farside do
@service_prefix Application.fetch_env!(:farside, :service_prefix)
def get_services_map do
- {:ok, redis_keys} = Redix.command(:redix, ["KEYS", "*"])
-
- # Extract only service related keys
- service_list =
- Enum.filter(
- redis_keys,
- fn key ->
- String.starts_with?(key, @service_prefix)
- end
- )
+ {:ok, service_list} = Redix.command(:redix, ["KEYS", "#{@service_prefix}*"])
# Match service name to list of available instances
Enum.reduce(service_list, %{}, fn service, acc ->