41 lines
1.2 KiB
Elixir
41 lines
1.2 KiB
Elixir
import Config
|
|
|
|
if config_env() == :prod do
|
|
database_url =
|
|
System.get_env("DATABASE_URL") ||
|
|
raise "environment variable DATABASE_URL is missing. Example: ecto://USER:PASS@HOST/DATABASE"
|
|
|
|
repo_defaults = Application.get_env(:parrhesia, Parrhesia.Repo, [])
|
|
|
|
default_pool_size = Keyword.get(repo_defaults, :pool_size, 32)
|
|
default_queue_target = Keyword.get(repo_defaults, :queue_target, 1_000)
|
|
default_queue_interval = Keyword.get(repo_defaults, :queue_interval, 5_000)
|
|
|
|
pool_size =
|
|
case System.get_env("POOL_SIZE") do
|
|
nil -> default_pool_size
|
|
value -> String.to_integer(value)
|
|
end
|
|
|
|
queue_target =
|
|
case System.get_env("DB_QUEUE_TARGET_MS") do
|
|
nil -> default_queue_target
|
|
value -> String.to_integer(value)
|
|
end
|
|
|
|
queue_interval =
|
|
case System.get_env("DB_QUEUE_INTERVAL_MS") do
|
|
nil -> default_queue_interval
|
|
value -> String.to_integer(value)
|
|
end
|
|
|
|
config :parrhesia, Parrhesia.Repo,
|
|
url: database_url,
|
|
pool_size: pool_size,
|
|
queue_target: queue_target,
|
|
queue_interval: queue_interval
|
|
|
|
config :parrhesia, Parrhesia.Web.Endpoint,
|
|
port: String.to_integer(System.get_env("PORT") || "4000")
|
|
end
|