Installation
Oban.Pro is delivered as a hex package named oban_pro
, which is published
privately to our self-hosted package repository.
prerequisites
Prerequisites
Ensure Oban is installed for your application. It's probably there already, but just in case, follow these instructions to get started.
Ensure you're running Erlang/OTP v23.3.4.5, v24.0.4, or later. Older Erlang/OTP versions have an expired CA root certificate that doesn't work with Let's Encrypt certificates.
Ensure you're running
hex
v1.0.0 or later, viamix local.hex --force
authentication
Authentication
Before you can pull the package into your application you need to add a new
oban
hex repo. First, grab the OBAN_KEY_FINGERPRINT
and OBAN_LICENSE_KEY
from your account page.
Then, run the following mix hex.repo
command:
mix hex.repo add oban https://getoban.pro/repo \
--fetch-public-key $OBAN_KEY_FINGERPRINT \
--auth-key $OBAN_LICENSE_KEY
Authenticating Other Systems
You'll also need to authenticate on any other development machines, build servers and CI/CD instances. There are also guides to help with building Docker Images, authenticating on Gigalixir and Heroku.
configuration
Configuration
Now that you're authenticated you're ready to add oban_pro
as a dependency for
your application. Open mix.exs
and add the following line:
{:oban_pro, "~> 0.11", repo: "oban"}
Now fetch your dependencies:
$ mix deps.get
There isn't any direct configuration for Oban.Pro
. Instead, you configure
Oban
to run an engine or plugins directly and use
the various workers. For
example, to use the Lifeline plugin you'd add it to the Oban
config within config.exs
:
config :my_app, Oban,
engine: Oban.Pro.Queue.SmartEngine,
repo: MyApp.Repo,
queues: [alpha: 10, gamma: 10, delta: 10],
plugins: [Oban.Pro.Plugins.DynamicLifeline]
Now you're ready to start using the smart engine, various plugins, and workers!
trouble-installing-have-questions
Trouble installing? Have questions?
Take a look at the [troubleshooting][faq] guide to see if your issue is covered. If not, or if you need any help, stop by the #oban channel in [Elixir Slack][sla].