summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Busby <contact@benbusby.com>2021-12-09 15:33:58 -0700
committerBen Busby <contact@benbusby.com>2021-12-09 15:33:58 -0700
commit1092350fcd3abefe73fc2b2ba429e9ca46e67093 (patch)
tree4dea7fef52ad6334897fec4d933b26d1112f2204
parentf887ad04007586f230665890ac3e14dd9454eff7 (diff)
downloadfarside-1092350fcd3abefe73fc2b2ba429e9ca46e67093.tar.gz
Remove `FARSIDE_NO_ROUTER` env var
The FARSIDE_NO_ROUTER variable wasn't terribly useful after refactoring the app to include the update routine internally (rather than available externally as an elixir script). Now the only supported environment variable is FARSIDE_TEST, which is still useful for tests and quick validation of functionality.
-rw-r--r--README.md5
-rw-r--r--lib/farside/application.ex30
-rw-r--r--lib/farside/instances.ex3
3 files changed, 16 insertions, 22 deletions
diff --git a/README.md b/README.md
index c00ac88..1f8113e 100644
--- a/README.md
+++ b/README.md
@@ -55,7 +55,7 @@ A user navigates to `/nitter` and is redirected to `nitter.net`. The next user
to request `/nitter` will be guaranteed to not be directed to `nitter.net`, and
will instead be redirected to a separate (random) working instance. That
instance will now take the place of `nitter.net` as the "reserved" instance, and
-`nitter.net` will be returned to the list of available Nitter instances.
+`nitter.net` will be returned to the list of available Nitter instances.
This "reserving" of previously chosen instances is performed in an attempt to
ensure better distribution of traffic to available instances for each service.
@@ -77,5 +77,4 @@ request per second per IP.
| Name | Purpose |
| -- | -- |
-| FARSIDE_TEST | If enabled, skips the instance availability check in `update.exs`. |
-| FARSIDE_NO_ROUTER | If enabled, skips creation of the router. Useful for running `update.exs` with `mix run` when the app is already running. |
+| FARSIDE_TEST | If enabled, bypasses the instance availability check and adds all instances to the pool. |
diff --git a/lib/farside/application.ex b/lib/farside/application.ex
index 8ccdc58..9fd6e9d 100644
--- a/lib/farside/application.ex
+++ b/lib/farside/application.ex
@@ -7,25 +7,19 @@ defmodule Farside.Application do
@impl true
def start(_type, _args) do
- plug_children =
- (System.get_env("FARSIDE_NO_ROUTER") && []) ||
- [
- Plug.Cowboy.child_spec(
- scheme: :http,
- plug: Farside.Router,
- options: [
- port: @farside_port
- ]
- ),
- {PlugAttack.Storage.Ets, name: Farside.Throttle.Storage, clean_period: 60_000}
+ children = [
+ Plug.Cowboy.child_spec(
+ scheme: :http,
+ plug: Farside.Router,
+ options: [
+ port: @farside_port
]
-
- children =
- [
- {Redix, {@redis_conn, [name: :redix]}},
- Farside.Scheduler,
- Farside.Server
- ] ++ plug_children
+ ),
+ {PlugAttack.Storage.Ets, name: Farside.Throttle.Storage, clean_period: 60_000},
+ {Redix, {@redis_conn, [name: :redix]}},
+ Farside.Scheduler,
+ Farside.Server
+ ]
opts = [strategy: :one_for_one, name: Farside.Supervisor]
Supervisor.start_link(children, opts)
diff --git a/lib/farside/instances.ex b/lib/farside/instances.ex
index c8e7611..0e1b9b4 100644
--- a/lib/farside/instances.ex
+++ b/lib/farside/instances.ex
@@ -45,7 +45,8 @@ defmodule Farside.Instances do
result =
Enum.filter(service.instances, fn instance_url ->
- request_url = instance_url <>
+ request_url =
+ instance_url <>
EEx.eval_string(
service.test_url,
query: Enum.random(@queries)