mirror of
https://github.com/benbusby/farside.git
synced 2025-04-29 23:20:03 +00: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
4 changed files with 22 additions and 4 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue