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
This commit is contained in:
Ben Busby 2023-04-05 13:04:17 -06:00
parent 65c12769bf
commit bb3a01f8c1
No known key found for this signature in database
GPG key ID: B9B7231E01D924A1
2 changed files with 20 additions and 11 deletions

View file

@ -93,6 +93,7 @@ jobs:
select(.value.version | . != null) |
select(.value.network.asn_privacy == 0) |
select(.value.http.error == null) |
select(.value.uptime.uptimeDay >= 99) |
select(.value.tls.grade == "A+" or .value.tls.grade == "A") |
select(.value.http.grade == "A+" or .value.http.grade == "A") |
select(.value.html.grade == "V" or .value.html.grade == "F") |

View file

@ -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)
)
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}")
IO.puts("#{@debug_spacer}#{request_url}")
request(request_url) == :good
end)
request(request_url) == :good
end)
end
add_to_db(service, result)
log_results(service.type, result)