PlaidEx.Webhooks.ObanWorker (plaid_ex v1.0.0)

Copy Markdown View Source

Oban worker for durable webhook processing.

When Oban is available, webhooks are enqueued as jobs instead of being dispatched via Task.Supervisor. This provides:

  • Durability — jobs survive application restarts
  • Retry logic — configurable retry with exponential backoff
  • Dead-letter queue — failed jobs are retained for inspection
  • Visibility — jobs visible in Oban Web
  • Concurrency control — queue-level concurrency limits

Setup

# In your Oban config:
config :my_app, Oban,
  queues: [plaid_webhooks: 10],
  plugins: [Oban.Plugins.Pruner]

This module is only compiled when Oban is available as a dependency — Code.ensure_loaded?/1 is checked here, wrapping the entire module definition, because use Oban.Worker is a compile-time macro expansion and cannot be guarded from inside the module body.