Oban worker for async webhook handler dispatch (D2-27).
Enqueued by Accrue.Webhook.Ingest in the same transaction as the
webhook event row. Loads the WebhookEvent, projects it to
%Accrue.Webhook.Event{}, and dispatches to the handler chain.
Dispatch order (D2-30)
Accrue.Webhook.DefaultHandlerruns first (non-disableable)- User handlers from
Accrue.Config.webhook_handlers/0run sequentially - Each handler is rescue-wrapped for crash isolation
Retry policy
25 attempts with exponential backoff (WH-05). On final attempt,
transitions the webhook event to :dead status (D2-35).
Status lifecycle
:received -> :processing -> :succeeded
-> :failed (retryable)
-> :dead (final attempt)