def create_user(attrs) do
case %User{} |> User.changeset(attrs) |> Repo.insert() do
{:ok, user} ->
EventHandler.user_created(attrs)
{:ok, user}
{:error, changeset} -> {:error, changeset}
end
end
Asynchronous GenServer
def handle_cast({:user_created, attrs}, state) do
# Logs to event store
# Saves to another database table
{:no_reply, state}
end
It works IF I have a :timer.sleep(500) but it will be very slow if I have similar tests like this. Is there any good alternatives to test async tasks? Thanks guys.