summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBen Busby <contact@benbusby.com>2023-04-05 13:04:17 -0600
committerBen Busby <contact@benbusby.com>2023-04-05 13:04:17 -0600
commitbb3a01f8c1cd182afd92e677898dedd8ef79136e (patch)
tree37ce4c2400974133f62a83c4ec4c6f8833123bf1 /lib
parent65c12769bfb2275c9398e246ec2f4ccbba556fb7 (diff)
downloadfarside-bb3a01f8c1cd182afd92e677898dedd8ef79136e.tar.gz
Move SearXNG instance check to nightly build
searx.space includes metrics for instance uptime, which is now implemented as part of farside's nightly build. Accordingly, the instance availability task built into farside now excludes searxng instances. Closes #95
Diffstat (limited to 'lib')
-rw-r--r--lib/farside/instances.ex34
1 files changed, 21 insertions, 13 deletions
diff --git a/lib/farside/instances.ex b/lib/farside/instances.ex
index c358d09..7b743a9 100644
--- a/lib/farside/instances.ex
+++ b/lib/farside/instances.ex
@@ -7,6 +7,10 @@ defmodule Farside.Instances do
@debug_header "======== "
@debug_spacer " "
+ # SearXNG instance uptimes are inspected as part of the nightly Farside build,
+ # and should not be included in the constant periodic update.
+ @skip_service_updates ["searxng"]
+
def sync() do
File.rename(@update_file, "#{@update_file}-prev")
update()
@@ -51,19 +55,23 @@ defmodule Farside.Instances do
IO.puts("#{@debug_header}#{service.type}")
- result =
- Enum.filter(service.instances, fn instance_url ->
- request_url =
- instance_url <>
- EEx.eval_string(
- service.test_url,
- query: Enum.random(@queries)
- )
-
- IO.puts("#{@debug_spacer}#{request_url}")
-
- request(request_url) == :good
- end)
+ result = cond do
+ Enum.member?(@skip_service_updates, service.type) ->
+ service.instances
+ true ->
+ Enum.filter(service.instances, fn instance_url ->
+ request_url =
+ instance_url <>
+ EEx.eval_string(
+ service.test_url,
+ query: Enum.random(@queries)
+ )
+
+ IO.puts("#{@debug_spacer}#{request_url}")
+
+ request(request_url) == :good
+ end)
+ end
add_to_db(service, result)
log_results(service.type, result)