I cannot use Oban.insert/2
, it gives me this error:
** (MatchError) no match of right hand side value: []
(oban 2.3.4) lib/oban/registry.ex:16: Oban.Registry.config/1
(oban 2.3.4) lib/oban.ex:236: Oban.insert/2
this is my recovery email module:
defmodule Bank.Accounts.Jobs.RecoveryEmail do
@moduledoc """
Sends an email to user that forgot their password
"""
use Bank.Jobs.Worker, queue: :mailing
import Bank.Common.Wrapping
alias Bank.{Accounts, Repo}
alias Bank.Mailing
def perform(%{"token" => token}) do
%{user: user} =
token
|> Accounts.get_password_recovery()
|> ok_unwrap()
|> Repo.preload(:user)
%{
subject: "Recuperação de conta",
template: "password_recovery",
assigns: %{token: token},
to_email: user.email
}
|> Mailing.send_single_mail()
end
def create_worker(%{token: token}) do
%{token: token}
|> __MODULE__.new()
|> Oban.insert()
end
end
jobs.ex:
defmodule Bank.Jobs.Worker do
@moduledoc """
Extension of Oban.Worker
"""
defmacro __using__(opts \\ []) do
quote do
use Oban.Worker, unquote(opts)
import Bank.Common.Wrapping
def create_generic_worker(resource) do
%{id: resource.id}
|> __MODULE__.new()
|> Oban.insert()
end
end
end
end
if I need to provide more information, please, tell me.