A macro that wraps Oban.Worker to provide metadata for UI generation.
Example
defmodule MyApp.Chores.UserBackfill do
use ObanChore.Worker,
name: "User Data Backfill",
fields: [
user_id: [type: :integer, required: true],
reason: [type: :string, default: "Manual Update"]
]
@impl Oban.Worker
def perform(%Oban.Job{args: args}) do
# ...
end
end
Summary
Callbacks
@callback custom_changeset(Ecto.Changeset.t()) :: Ecto.Changeset.t()