Oban.Repo (Oban v2.20.2)
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 to500msretry— the number of retries for unexpected errors, defaults to5expected_delay— the time to sleep between expected errors, e.g.serializationorlock_not_available, defaults to10msexpected_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)