# `MishkaCmsMigration.Workers.Helpers.Discarded`
[🔗](https://github.com/mishka-group/mishka_cms_migration/blob/v0.0.1/lib/mishka_cms_migration/workers/__helpers/discarded.ex#L5)

Fails the run of a migration job Oban discarded — its last attempt timed out or crashed past
every rescue, so AshOban never ran the trigger's `on_error` — with Oban's reason
(`MishkaCmsMigration.MigrationRun`'s `:fail`), which an admin can Run again. It runs outside any job,
so it acts as the system (`authorize?: false`), and hands `:fail` the job as AshOban hands it its
trigger's `on_error` (`context.ash_oban.job`), so what the run's steps tell says which step failed
(`MishkaCmsMigration.Resources.Notifiers.Steps`). A run no longer dry running or importing is left
as it is. Attached to Oban's `[:oban, :job, :exception]` telemetry by
`MishkaCmsMigration.Workers.attach/0`.

A handler that raises is detached by `:telemetry` for good, so a failure here is logged and the
handler stays attached.

# `call`

```elixir
@spec call(list(), map(), map(), term()) :: :ok
```

Handles one `[:oban, :job, :exception]` event.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
