Current section
Files
Jump to
Current section
Files
lib/dbus.ex
defmodule Dbus do
use Application
require Logger
alias Dbus.Db, as: DB
alias Dbus.PubSub, as: PS
alias Dbus.Queue, as: Q
alias Dbus.Exec, as: E
alias Dbus.Health, as: H
def start(_type, _args) do
import Supervisor.Spec, warn: false
children = [worker(Dbus.Redis, [])]
opts = [strategy: :one_for_one, name: Dbus.Supervisor]
Supervisor.start_link(children, opts)
end
def kill(), do: DB.kill
def register(topic), do: DB.register(topic)
def unregister(topic), do: DB.unregister(topic)
def pub(topic, msg), do: PS.pub(topic, msg)
def sub(topic, my_fn), do: PS.sub(topic, my_fn)
def is_topic(topic), do: Q.is_topic(topic)
def topics(), do: Q.topics
def peek(topic), do: Q.peek(topic)
def peek(topic, num), do: Q.peek(topic, num)
def pop(topic), do: Q.pop(topic)
def pop(topic, num), do: Q.pop(topic, num)
def size(topic), do: Q.size(topic)
def num_total(topic), do: H.num_total(topic)
def num_processed(topic), do: H.num_processed(topic)
def num_failed(topic), do: H.num_failed(topic)
def processed(topic), do: H.processed(topic)
def failed(topic), do: H.failed(topic)
def process(topic, my_fn), do: E.process(topic, my_fn)
def process(topic, my_fn, num), do: E.process(topic, my_fn, num)
def tick(), do: H.tick
def tick(topic), do: H.tick(topic)
def tock(), do: H.tock
def tock(topic), do: H.tock(topic)
end