

ExqUI — exq\_ui v0.14.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

ExqUI

 [View Source](https://github.com/akira/exq_ui/blob/v0.14.0/README.md#L1 "View Source")

===============================================================================================

[![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.

```

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`.

```

config :exq,

 mode: :api

```

2. 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).

3. In your phoenix router import [`ExqUIWeb.Router`](ExqUIWeb.Router.html) and add

`live_exq_ui(path)`

```

defmodule 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")

 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.

```

config :exq\_scheduler,

 name: ExqScheduler

config :exq\_ui,

 exq\_scheduler\_name: ExqScheduler

```

 Development

--------------

```

mix setup # on first run

mix run --no-halt dev.exs

open http://localhost:4000/exq

```

[← Previous Page

 

Changelog](changelog.html)





ExqUIWeb.Router — exq\_ui v0.14.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

ExqUIWeb.Router

(exq\_ui v0.14.0)

[View Source](https://github.com/akira/exq_ui/blob/v0.14.0/lib/exq_ui_web/router.ex#L1 "View Source")

========================================================================================================================================

[Link to this section](#summary)

 Summary

==========================================

[Functions](#functions)

------------------------

[live\_exq\_ui(path, opts \\ [])](#live_exq_ui/2)

Exposes ExqUI web interface at the specified

`path`. [`Phoenix.LiveView.Router.live_session/3`](https://hexdocs.pm/phoenix_live_view/0.18.18/Phoenix.LiveView.Router.html#live_session/3) is used to wrap all

the live routes.

[Link to this section](#functions)

Functions

=============================================

[Link to this macro](#live_exq_ui/2 "Link to this macro")

live\_exq\_ui(path, opts \\ [])

===============================

[View Source](https://github.com/akira/exq_ui/blob/v0.14.0/lib/exq_ui_web/router.ex#L14 "View Source")

(macro)

Exposes ExqUI web interface at the specified

`path`. [`Phoenix.LiveView.Router.live_session/3`](https://hexdocs.pm/phoenix_live_view/0.18.18/Phoenix.LiveView.Router.html#live_session/3) is used to wrap all

the live routes.

 Options

----------

* live\_session\_name - Name of the live\_session. Defaults to `:exq_ui`

* live\_socket\_path - Should match the value used for `socket "/live", Phoenix.LiveView.Socket`. Defaults to `/live`

* live\_session\_on\_mount - Declares an optional module callback to be invoked on the LiveView's mount





API Reference — exq\_ui v0.14.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

API Reference exq\_ui v0.14.0

==============================

 Modules

----------

[ExqUIWeb.Router](ExqUIWeb.Router.html)

[Next Page →

 

Changelog](changelog.html)

