You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
3.2 KiB
90 lines
3.2 KiB
7 years ago
|
use Mix.Config
|
||
|
|
||
|
# For production, we often load configuration from external
|
||
|
# sources, such as your system environment. For this reason,
|
||
|
# you won't find the :http configuration below, but set inside
|
||
|
# ExplorerWeb.Endpoint.init/2 when load_from_system_env is
|
||
|
# true. Any dynamic configuration should be done there.
|
||
|
#
|
||
|
# Don't forget to configure the url host to something meaningful,
|
||
|
# Phoenix uses this information when generating URLs.
|
||
|
#
|
||
|
# Finally, we also include the path to a cache manifest
|
||
|
# containing the digested version of static files. This
|
||
|
# manifest is generated by the mix phx.digest task
|
||
|
# which you typically run after static files are built.
|
||
|
config :explorer, ExplorerWeb.Endpoint,
|
||
|
cache_static_manifest: "priv/static/cache_manifest.json",
|
||
|
force_ssl: [rewrite_on: [:x_forwarded_proto]],
|
||
|
instrumenters: [NewRelixir.Instrumenters.Phoenix],
|
||
|
load_from_system_env: true,
|
||
|
pubsub: [
|
||
|
adapter: Phoenix.PubSub.Redis,
|
||
|
url: System.get_env("REDIS_URL"),
|
||
|
node_name: System.get_env("DYNO")
|
||
|
],
|
||
|
secret_key_base: System.get_env("SECRET_KEY_BASE"),
|
||
|
url: [
|
||
|
scheme: "https",
|
||
|
host: Map.fetch!(System.get_env(), "HEROKU_APP_NAME") <> ".herokuapp.com",
|
||
|
port: 443
|
||
|
]
|
||
|
|
||
|
# Do not print debug messages in production
|
||
|
config :logger, level: :info
|
||
|
|
||
|
# Configures the database
|
||
|
config :explorer, Explorer.Repo,
|
||
|
adapter: Ecto.Adapters.Postgres,
|
||
|
url: System.get_env("DATABASE_URL"),
|
||
|
pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10"),
|
||
|
ssl: String.equivalent?(System.get_env("ECTO_USE_SSL") || "true", "true"),
|
||
|
prepare: :unnamed,
|
||
|
timeout: 60_000,
|
||
|
pool_timeout: 60_000
|
||
|
|
||
|
# Configure New Relic
|
||
|
config :new_relixir,
|
||
|
application_name: System.get_env("NEW_RELIC_APP_NAME"),
|
||
|
license_key: System.get_env("NEW_RELIC_LICENSE_KEY"),
|
||
|
active: true
|
||
|
|
||
|
# Configure Web3
|
||
|
config :ethereumex, url: System.get_env("ETHEREUM_URL")
|
||
|
|
||
|
# Configure Quantum
|
||
|
config :explorer, Explorer.Scheduler,
|
||
|
jobs: [
|
||
|
[
|
||
|
schedule: {:extended, System.get_env("EXQ_BALANCE_SCHEDULE") || "0 * * * * *"},
|
||
|
task: {Explorer.Workers.RefreshBalance, :perform_later, []}
|
||
|
],
|
||
|
[
|
||
|
schedule: {:extended, System.get_env("EXQ_LATEST_BLOCK_SCHEDULE") || "* * * * * *"},
|
||
|
task: {Explorer.Workers.ImportBlock, :perform_later, ["latest"]}
|
||
|
],
|
||
|
[
|
||
|
schedule: {:extended, System.get_env("EXQ_PENDING_BLOCK_SCHEDULE") || "* * * * * *"},
|
||
|
task: {Explorer.Workers.ImportBlock, :perform_later, ["pending"]}
|
||
|
],
|
||
|
[
|
||
|
schedule: {:extended, System.get_env("EXQ_BACKFILL_SCHEDULE") || "* * * * * *"},
|
||
|
task:
|
||
|
{Explorer.Workers.ImportSkippedBlocks, :perform_later,
|
||
|
[String.to_integer(System.get_env("EXQ_BACKFILL_BATCH_SIZE") || "1")]}
|
||
|
]
|
||
|
]
|
||
|
|
||
|
# Configure Exq
|
||
|
config :exq,
|
||
|
node_identifier: Explorer.ExqNodeIdentifier,
|
||
|
url: System.get_env("REDIS_URL"),
|
||
|
queues: [
|
||
|
{"blocks", String.to_integer(System.get_env("EXQ_BLOCKS_CONCURRENCY") || "1")},
|
||
|
{"default", String.to_integer(System.get_env("EXQ_CONCURRENCY") || "1")},
|
||
|
{"internal_transactions",
|
||
|
String.to_integer(System.get_env("EXQ_INTERNAL_TRANSACTIONS_CONCURRENCY") || "1")},
|
||
|
{"receipts", String.to_integer(System.get_env("EXQ_RECEIPTS_CONCURRENCY") || "1")},
|
||
|
{"transactions", String.to_integer(System.get_env("EXQ_TRANSACTIONS_CONCURRENCY") || "1")}
|
||
|
]
|