Main application supervisor. Configurable via Application.get_env(:servcore, ...).
Configuration options (single pipeline, backward compatible)
config :servcore,
router: MyApp.Router, # default: Core.HTTP.Router
port: 4000, # default: env PORT or 4000
ip: {0, 0, 0, 0}, # default: {0,0,0,0}
worker: Core.Workers.Worker, # default: Core.Workers.Worker
worker_pool_size: 8, # default: CPU cores
job_store: Core.JobStore.SQLite, # default: Core.JobStore.Memory
job_store_opts: [database: "priv/jobs.db"],
start_http: true, # default: true
start_workers: true # default: trueConfiguration options (multiple pipelines)
config :servcore,
router: MyApp.Router,
port: 4000,
start_http: true,
pipelines: [
[
queue: Core.Workers.JobQueue,
queue_name: Core.Workers.JobQueue,
pool: Core.Workers.WorkerPool,
worker: Core.Workers.Worker,
pool_size: 4,
job_store: Core.JobStore.SQLite,
job_store_opts: [database: "priv/jobs.db"]
],
[
queue: Core.Workers.JobQueue,
queue_name: MyApp.MediaQueue,
pool: Core.Workers.WorkerPool,
pool_name: MyApp.MediaPool,
worker: MyApp.MediaWorker,
pool_size: 2,
job_store: Core.JobStore.SQLite,
job_store_opts: [database: "priv/media_jobs.db"]
]
]Set start_http: false to manage the HTTP server yourself (e.g. in a Phoenix app).