View Source Oban.Notifiers.Postgres (Oban v2.11.0)
A Postgres Listen/Notify based Notifier.
Usage
Specify the Postgres
notifier in your Oban configuration:
config :my_app, Oban,
notifier: Oban.Notifiers.Postgres
Caveats
The notifications system is built on PostgreSQL's LISTEN/NOTIFY
functionality. Notifications
are only delivered after a transaction completes and are de-duplicated before publishing.
Typically, applications run Ecto in sandbox mode while testing, but sandbox mode wraps each test
in a separate transaction that's rolled back after the test completes. That means the
transaction is never committed, which prevents delivering any notifications.
To test using notifications you must run Ecto without sandbox mode enabled, or use
Oban.Notifiers.PG
instead.
Link to this section Summary
Functions
Register current process to receive messages from some channels
Start the notifier.
Unregister current process from channels
Link to this section Functions
Specs
listen(GenServer.server(), channels :: [Oban.Notifier.channel()]) :: :ok
Register current process to receive messages from some channels
Specs
start_link(Keyword.t()) :: GenServer.on_start()
Start the notifier.
Specs
unlisten(GenServer.server(), channels :: [Oban.Notifier.channel()]) :: :ok
Unregister current process from channels