mirror of
https://github.com/benbusby/farside.git
synced 2025-03-14 19:26:30 -04:00
Allow bypassing app router with FARSIDE_NO_ROUTER
Setting the aforementioned env var skips creation of the app router, which is useful for running update.exs when the main app is already running (otherwise there's a port conflict).
This commit is contained in:
parent
5904c7cce4
commit
d4581797e7
@ -73,3 +73,9 @@ request per second per IP.
|
||||
- Run Farside: `mix run --no-halt`
|
||||
- Uses localhost:4001
|
||||
|
||||
### Environment Variables
|
||||
|
||||
| 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. |
|
||||
|
@ -1,6 +1,7 @@
|
||||
import Config
|
||||
|
||||
config :farside,
|
||||
port: 4001,
|
||||
redis_conn: "redis://localhost:6379",
|
||||
update_file: ".update-results",
|
||||
service_prefix: "service-",
|
||||
|
@ -1,4 +1,5 @@
|
||||
defmodule Farside.Application do
|
||||
@farside_port Application.fetch_env!(:farside, :port)
|
||||
@redis_conn Application.fetch_env!(:farside, :redis_conn)
|
||||
@moduledoc false
|
||||
|
||||
@ -6,12 +7,22 @@ defmodule Farside.Application do
|
||||
|
||||
@impl true
|
||||
def start(_type, _args) do
|
||||
children = [
|
||||
Plug.Cowboy.child_spec(scheme: :http, plug: Farside.Router, options: [port: 4001]),
|
||||
{Redix, {@redis_conn, [name: :redix]}},
|
||||
plug_children = [
|
||||
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 = [
|
||||
{Redix, {@redis_conn, [name: :redix]}} |
|
||||
System.get_env("FARSIDE_NO_ROUTER") && [] || plug_children
|
||||
]
|
||||
|
||||
opts = [strategy: :one_for_one, name: Farside.Supervisor]
|
||||
Supervisor.start_link(children, opts)
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user