GithubHelp home page GithubHelp logo

opakalex / exq_ui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from akira/exq_ui

0.0 1.0 0.0 2.28 MB

UI Dashboard for Exq, a job processing library for Elixir. Exq UI provides the UI dashboard to display stats on job processing.

License: Other

Elixir 30.05% JavaScript 20.89% HTML 2.15% Ruby 0.28% SCSS 38.02% Handlebars 8.62%

exq_ui's Introduction

ExqUi

Travis Build Status Coveralls Coverage Hex.pm Version

ExqUI provides a UI dashboard for 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.

Maintainers Needed

We are seeking maintainers for this project. If you are interested in contributing as lead of co-maintainer, please reach out. See #58.

Getting Started:

See Exq for using the Exq library. This assumes you have an instance of Redis.

Installation:

Add exq_ui to your mix.exs deps (replace version with the latest hex.pm package version):

  defp deps do
    [
      # ... other deps
      {:exq_ui, "~> 0.11.1"}
    ]
  end

Then run mix deps.get.

Make sure to load exq_ui

  def application do
    [mod: {OperationSpectrum, []},
     applications: [
      :phoenix,
      # ... other deps
      :phoenix_ecto,
      :postgrex,
      :exq,
      :exq_ui
    ]
  ]
  end

For Elixir 1.2 or older, you will need to use Exq version 0.7.2 in hex, and you will also need to add :tzdata to your application list.

Configuration:

By default, Exq will use configuration from your config.exs file. You can use this to configure your Redis host, port, password, as well as namespace (which helps isolate the data in Redis).

config :exq,
  host: "127.0.0.1",
  port: 6379,
  password: "optional_redis_auth",
  namespace: "exq",
  concurrency: :infinite,
  queues: ["default"],
  poll_timeout: 50,
  scheduler_poll_timeout: 200,
  scheduler_enable: true,
  max_retries: 25

There are also a few configuration options for the UI:

config :exq_ui,
  web_port: 4040,
  web_namespace: "",
  server: true

The webport configures which port to start the UI on, and the web_namespace configures what to use as the application root (both when using mix exq.ui).

By default the empty namespace is used, so you can access the UI via: http://localhost:4040/.

When setting a different web_namespace, for example exq_ui, you can access the UI via: http://localhost:4040/exq_ui.

The server option allows you to refrain from starting the web server during tests. It is set to true by default.

Web UI:

This is a screenshot of the UI Dashboard provided by Exq UI: Screenshot

To start the web UI:

> mix exq.ui

Using with Plug

To use this with Plug, edit your router.ex and add this section:

...

  pipeline :exq do
    plug :accepts, ["html"]
    plug :fetch_session
    plug :fetch_flash
    plug :put_secure_browser_headers
    plug ExqUi.RouterPlug, namespace: "exq"
  end

  scope "/exq", ExqUi do
    pipe_through :exq
    forward "/", RouterPlug.Router, :index
  end

Questions? Issues?

For issues, please submit a Github issue with steps on how to reproduce the problem.

Contributions

Contributions are welcome. Tests are encouraged.

By default, a static distribution of the UI is used. To run the UI and automatically build the JS distribution on changes, run:

> cd priv/ember
> npm install
> bower install
> ./node_modules/ember-cli/bin/ember server

To run tests / ensure your changes have not caused any regressions:

mix test --no-start

Contributors:

Justin McNally (j-mcnally) (structtv)

Nick Sanders (nicksanders)

Nick Gal (nickgal)

pdilyard (Paul Dilyard)

Alexander Shapiotko (thousandsofthem)

Matt Ward (theRealWardo)

Lin He (he9lin)

exq_ui's People

Contributors

akira avatar akki91 avatar balexand avatar benjamintanweihao avatar chelsea avatar d1plo1d avatar dependabot[bot] avatar disbelief avatar drteeth avatar gutschilla avatar he9lin avatar j-mcnally avatar jockee avatar jonhkr avatar lowks avatar mmcc avatar mosic avatar nickgal avatar niels avatar optikfluffel avatar pdilyard avatar romul avatar seivan avatar stevedomin avatar therealwardo avatar thomashaddad avatar thousandsofthem avatar tlesne avatar triptec avatar vbrazo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.