Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akira/exq_ui
UI Dashboard for Exq, a job processing library for Elixir. Exq UI provides the UI dashboard to display stats on job processing.
https://github.com/akira/exq_ui
Last synced: 27 days ago
JSON representation
UI Dashboard for Exq, a job processing library for Elixir. Exq UI provides the UI dashboard to display stats on job processing.
- Host: GitHub
- URL: https://github.com/akira/exq_ui
- Owner: akira
- License: other
- Created: 2015-12-20T05:24:54.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-08-26T05:52:33.000Z (3 months ago)
- Last Synced: 2024-09-26T09:14:15.786Z (about 1 month ago)
- Language: Elixir
- Size: 2.99 MB
- Stars: 154
- Watchers: 5
- Forks: 73
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# ExqUI
[![Hex.pm](https://img.shields.io/hexpm/v/exq_ui.svg)](https://hex.pm/packages/exq_ui)
ExqUI provides a UI dashboard for [Exq](https://github.com/akira/exq), a job processing library
compatible with Resque / Sidekiq for the Elixir language. ExqUI allow
you to see various job processing stats, as well as details on failed,
retried, scheduled jobs, etc.## Configuration
1. 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 scenariosIf 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 to
next 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)````elixir
defmodule DemoWeb.Router do
use Phoenix.Router
import ExqUIWeb.Routerpipeline :browser do
plug :fetch_session
plug :protect_from_forgery
endscope "/", DemoWeb do
pipe_through :browserlive_exq_ui("/exq")
end
end
```## Exq Scheduler
ExqUI provides support for [Exq Scheduler](https://github.com/activesphere/exq-scheduler). It can be enabled by
giving a name to exq scheduler and specifying the same name in exq ui config.```elixir
config :exq_scheduler,
name: ExqSchedulerconfig :exq_ui,
exq_scheduler_name: ExqScheduler
```## Development
```sh
mix setup # on first run
mix run --no-halt dev.exs
open http://localhost:4000/exq
```