Packages
exq
0.13.2
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.2
0.16.1
0.16.0
0.15.0
0.14.0
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.2
0.12.1
0.12.0
0.11.0
0.10.1
0.10.0
0.9.1
0.9.0
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.0
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.2
Exq is a job processing library compatible with Resque / Sidekiq for the Elixir language.
Current section
Files
Jump to
Current section
Files
lib/exq/support/config.ex
defmodule Exq.Support.Config do
@default_config %{
name: Exq,
mode: :default,
host: "127.0.0.1",
port: 6379,
database: 0,
redis_options: [],
namespace: "exq",
queues: ["default"],
json_library: Jason,
scheduler_enable: true,
concurrency: 100,
scheduler_poll_timeout: 200,
poll_timeout: 100,
genserver_timeout: 5000,
shutdown_timeout: 5000,
max_retries: 25,
dead_max_jobs: 10_000,
# 6 months
dead_timeout_in_seconds: 180 * 24 * 60 * 60,
stats_flush_interval: 1000,
stats_batch_size: 2000,
serializer: Exq.Serializers.JsonSerializer,
node_identifier: Exq.NodeIdentifier.HostnameIdentifier,
backoff: Exq.Backoff.SidekiqDefault,
start_on_application: true,
middleware: [
Exq.Middleware.Stats,
Exq.Middleware.Job,
Exq.Middleware.Manager,
Exq.Middleware.Logger
]
}
def get(key) do
get(key, Map.get(@default_config, key))
end
def get(key, fallback) do
case Application.get_env(:exq, key, fallback) do
{:system, varname} -> System.get_env(varname)
{:system, varname, default} -> System.get_env(varname) || default
value -> value
end
end
def serializer do
get(:serializer)
end
def node_identifier do
get(:node_identifier)
end
def backoff() do
get(:backoff)
end
end