You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
asciinema.org/lib/asciinema/bamboo_exq_strategy.ex

14 lines
437 B
Elixir

defmodule Asciinema.BambooExqStrategy do
@behaviour Bamboo.DeliverLaterStrategy
def deliver_later(adapter, email, config) do
binary = [adapter, email, config] |> :erlang.term_to_binary |> Base.encode64
{:ok, _jid} = Exq.enqueue(Exq, "emails", __MODULE__, [binary])
end
def perform(binary) do
[adapter, email, config] = binary |> Base.decode64! |> :erlang.binary_to_term
adapter.deliver(email, config)
end
end