mirror of
https://github.com/benbusby/farside.git
synced 2025-06-08 10:26:36 +00:00
fix reload
This commit is contained in:
parent
a992934e11
commit
7bd91cbcad
2 changed files with 19 additions and 13 deletions
|
@ -38,7 +38,7 @@ defmodule Farside do
|
||||||
Farside.Instance.Supervisor.list()
|
Farside.Instance.Supervisor.list()
|
||||||
|> Enum.reduce(%{}, fn service, acc ->
|
|> Enum.reduce(%{}, fn service, acc ->
|
||||||
{_, data} = :ets.lookup(String.to_atom(service), :data) |> List.first()
|
{_, data} = :ets.lookup(String.to_atom(service), :data) |> List.first()
|
||||||
IO.inspect(data, label: "data")
|
|
||||||
Map.put(
|
Map.put(
|
||||||
acc,
|
acc,
|
||||||
String.replace_prefix(
|
String.replace_prefix(
|
||||||
|
|
|
@ -62,20 +62,23 @@ defmodule Farside.Instance do
|
||||||
|
|
||||||
queries = Application.fetch_env!(:farside, :queries)
|
queries = Application.fetch_env!(:farside, :queries)
|
||||||
|
|
||||||
request_urls =
|
test_urls =
|
||||||
Enum.map(service.instances, fn x ->
|
Enum.map(service.instances, fn x ->
|
||||||
|
test_url =
|
||||||
x <>
|
x <>
|
||||||
EEx.eval_string(
|
EEx.eval_string(
|
||||||
service.test_url,
|
service.test_url,
|
||||||
query: Enum.random(queries)
|
query: Enum.random(queries)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
{test_url, x}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
tasks =
|
tasks =
|
||||||
for request_url <- request_urls do
|
for {test_url, instance} <- test_urls do
|
||||||
Task.async(fn ->
|
Task.async(fn ->
|
||||||
reply = Farside.Http.request(request_url, service.type)
|
reply = Farside.Http.request(test_url, service.type)
|
||||||
{request_url, reply}
|
{test_url, reply, instance}
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -87,11 +90,14 @@ defmodule Farside.Instance do
|
||||||
res || Task.shutdown(task, :brutal_kill)
|
res || Task.shutdown(task, :brutal_kill)
|
||||||
end)
|
end)
|
||||||
|> Enum.reject(fn x -> x == nil end)
|
|> Enum.reject(fn x -> x == nil end)
|
||||||
|> Enum.map(fn {_, value} -> value end)
|
|> Enum.filter(fn {_, data} ->
|
||||||
|> Enum.filter(fn {instance_url, value} ->
|
{_test_url, value, _instance} = data
|
||||||
value == :good
|
value == :good
|
||||||
end)
|
end)
|
||||||
|> Enum.map(fn {url, _} -> url end)
|
|> Enum.map(fn {_, data} ->
|
||||||
|
{_test_url, _value, instance} = data
|
||||||
|
instance
|
||||||
|
end)
|
||||||
|
|
||||||
values = %{service | instances: instances}
|
values = %{service | instances: instances}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue