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.12", 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. At a
minimum, you'll want to add the SmartEngine and
DyanmicLifeline plugin to your Oban
config in
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 SmartEngine's features, various plugins, and workers!
trouble-installing-have-questions
Trouble installing? Have questions?
Take a look at the troubleshooting guide to see if your issue is covered. If not, or if you need any help, stop by the #oban channel in Elixir Slack.