Current section

Files

Jump to
exq lib exq.ex
Raw

lib/exq.ex

defmodule Exq do
require Logger
use Application
# OTP Application
def start(_type, _args) do
Exq.Manager.Supervisor.start_link
end
# Exq methods
def start(opts \\ []) do
Exq.Manager.Supervisor.start_link(opts)
end
def start_link(opts \\ []) do
Exq.Manager.Supervisor.start_link(opts)
end
def stop(pid) when is_pid(pid) do
Process.exit(pid, :shutdown)
end
def stop(sup) when is_atom(sup) do
stop(Process.whereis(sup))
end
def enqueue(pid, queue, worker, args) do
GenServer.call(pid, {:enqueue, queue, worker, args})
end
def enqueue_at(pid, queue, time, worker, args) do
GenServer.call(pid, {:enqueue_at, queue, time, worker, args})
end
def enqueue_in(pid, queue, offset, worker, args) do
GenServer.call(pid, {:enqueue_in, queue, offset, worker, args})
end
def subscribe(pid, queue) do
GenServer.call(pid, {:subscribe, queue})
end
def subscribe(pid, queue, concurrency) do
GenServer.call(pid, {:subscribe, queue, concurrency})
end
def unsubscribe(pid, queue) do
GenServer.call(pid, {:unsubscribe, queue})
end
end