Oban.Repo (Oban v2.20.1)
View SourceWrappers around Ecto.Repo
and Ecto.Adapters.SQL
callbacks.
Each function resolves the correct repo instance and sets options such as prefix
and log
according to Oban.Config
.
Meant for Extending Oban
These functions should only be used when working with a repo inside engines, plugins, or other
extensions for Oban. Favor using your application's repo directly when querying Oban.Job
from your workers.
Examples
The first argument for every function must be an Oban.Config
struct. Many functions pass
configuration around as a conf
key, and it can always be fetched with Oban.config/1
. This
demonstrates fetching the default instance config and querying all jobs:
Oban
|> Oban.config()
|> Oban.Repo.all(Oban.Job)
Summary
Functions
Wraps Ecto.Repo.aggregate/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.all/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.checkout/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.config/0
with an additional Oban.Config
argument.
The default values extracted from Oban.Config
for use in all queries with options.
Wraps Ecto.Repo.default_options/1
with an additional Oban.Config
argument.
Wraps Ecto.Repo.delete/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.delete!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.delete_all/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.exists?/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.get/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.get!/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.get_by/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.get_by!/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.get_dynamic_repo/0
with an additional Oban.Config
argument.
Wraps Ecto.Repo.in_transaction?/0
with an additional Oban.Config
argument.
Wraps Ecto.Repo.insert/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.insert!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.insert_all/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.insert_or_update/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.insert_or_update!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.load/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.one/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.one!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.preload/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.put_dynamic_repo/1
with an additional Oban.Config
argument.
Wraps Ecto.Adapters.SQL.Repo.query/4
with an added Oban.Config
argument.
Wraps Ecto.Adapters.SQL.Repo.query!/4
with an added Oban.Config
argument.
Wraps Ecto.Repo.reload/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.reload!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.rollback/1
with an additional Oban.Config
argument.
Wraps Ecto.Repo.stream/2
with an additional Oban.Config
argument.
Wraps Ecto.Adapters.SQL.Repo.to_sql/2
with an added Oban.Config
argument.
Wraps Ecto.Repo.transaction/2
with an additional Oban.Config
argument and automatic
retries with backoff.
Wraps Ecto.Repo.update/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.update!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.update_all/3
with an additional Oban.Config
argument.
Executes a function with a dynamic repo using the provided configuration.
Functions
Wraps Ecto.Repo.aggregate/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.all/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.checkout/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.config/0
with an additional Oban.Config
argument.
The default values extracted from Oban.Config
for use in all queries with options.
Wraps Ecto.Repo.default_options/1
with an additional Oban.Config
argument.
Wraps Ecto.Repo.delete/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.delete!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.delete_all/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.exists?/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.get/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.get!/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.get_by/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.get_by!/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.get_dynamic_repo/0
with an additional Oban.Config
argument.
Wraps Ecto.Repo.in_transaction?/0
with an additional Oban.Config
argument.
Wraps Ecto.Repo.insert/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.insert!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.insert_all/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.insert_or_update/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.insert_or_update!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.load/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.one/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.one!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.preload/3
with an additional Oban.Config
argument.
Wraps Ecto.Repo.put_dynamic_repo/1
with an additional Oban.Config
argument.
Wraps Ecto.Adapters.SQL.Repo.query/4
with an added Oban.Config
argument.
Wraps Ecto.Adapters.SQL.Repo.query!/4
with an added Oban.Config
argument.
Wraps Ecto.Repo.reload/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.reload!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.rollback/1
with an additional Oban.Config
argument.
Wraps Ecto.Repo.stream/2
with an additional Oban.Config
argument.
Wraps Ecto.Adapters.SQL.Repo.to_sql/2
with an added Oban.Config
argument.
Wraps Ecto.Repo.transaction/2
with an additional Oban.Config
argument and automatic
retries with backoff.
Options
Backoff helpers, in addition to the standard transaction options:
delay
— the time to sleep between retries, defaults to500ms
retry
— the number of retries for unexpected errors, defaults to5
expected_delay
— the time to sleep between expected errors, e.g.serialization
orlock_not_available
, defaults to10ms
expected_retry
— the number of retries for expected errors, defaults to20
Wraps Ecto.Repo.update/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.update!/2
with an additional Oban.Config
argument.
Wraps Ecto.Repo.update_all/3
with an additional Oban.Config
argument.
Executes a function with a dynamic repo using the provided configuration.
This function allows executing queries with a dynamically chosen repo, which may be determined through either a function or a module/function/args tuple. When used within a transaction, the dynamic repo is not switched from the current repo.
Examples
config = Oban.config(Oban)
Oban.Repo.with_dynamic_repo(config, fn repo ->
repo.all(Oban.Job)
end)