Current section
Files
Jump to
Current section
Files
README.md
# ExqUI[](https://hex.pm/packages/exq_ui)ExqUI provides a UI dashboard for [Exq](https://github.com/akira/exq), a job processing librarycompatible with Resque / Sidekiq for the Elixir language. ExqUI allowyou to see various job processing stats, as well as details on failed,retried, scheduled jobs, etc.## Configuration1. ExqUI depends on the [api server](https://hexdocs.pm/exq/Exq.Api.html#content) component of the [exq](https://github.com/akira/exq). The user of ExqUI is expected to start the Exq with proper config. The only config required on ExqUI side is the name of the api server. It's set to Exq.Api by default. ```elixir config :exq_ui, api_name: Exq.Api ``` There are two typical scenarios If ExqUI is embedded in a worker node which runs exq jobs, then nothing special needs to be done. Exq by default starts the api server on all worker nodes. If ExqUI needs to be embedded in a node which is not a worker, then Exq can be started in `api` mode, which will only start the api gen server and will not pickup jobs for execution. This can be done by configuring the `mode`. ```elixir config :exq, mode: :api ```1. ExqUI uses Phoenix LiveView. If you already use LiveView, skip tonext step. Otherwise follow LiveView [installation docs](https://hexdocs.pm/phoenix_live_view/installation.html).1. In your phoenix router import `ExqUIWeb.Router` and add`live_exq_ui(path)````elixirdefmodule DemoWeb.Router do use Phoenix.Router import ExqUIWeb.Router pipeline :browser do plug :fetch_session plug :protect_from_forgery end scope "/", DemoWeb do pipe_through :browser live_exq_ui("/exq") endend```## Exq SchedulerExqUI provides support for [Exq Scheduler](https://github.com/activesphere/exq-scheduler). It can be enabled bygiving a name to exq scheduler and specifying the same name in exq ui config.```elixirconfig :exq_scheduler, name: ExqSchedulerconfig :exq_ui, exq_scheduler_name: ExqScheduler```## Development```shmix setup # on first runmix run --no-halt dev.exsopen http://localhost:4000/exq```