Slide 69
Slide 69 text
defmodule MyApp.ActivationWorker do
use Oban.Worker
@impl Worker
def perform(%Job{args: %{"id" => account_id} = args}) do
with {:activated, account} <- MyApp.Account.activate(account_id) do
Oban.insert_all([
MyApp.HelloWorker.new(args, schedule_in: {1, :hour}),
MyApp.IntroWorker.new(args, schedule_in: {1, :day}),
MyApp.NudgeWorker.new(args, schedule_in: {1, :week})
])
{:ok, account}
end
end
end
activation_worker.ex