Skip to content
This repository has been archived by the owner on Dec 21, 2019. It is now read-only.

mxmCherry/disque-web

Repository files navigation

disque-web (docker hub)

Web client for Disque

WARNING!!!

This is quick-and-dirty Disque web client (though seems to be working fine). Use at your own risk.

WARNING!!!

This app exposes all job data and allows ACK-ing/deleting jobs, but provides no auth, so better don't expose it publicly.

Or use some auth proxy, like oauth2_proxy.

Features

  • multi-cluster (double-comma ,, separated, see Usage)
  • server info (INFO)
  • list queues (QSCAN, navbar)
  • queue stats (QSTAT, queues/NAME page)
  • queue jobs (JSCAN, queues/NAME page)
  • job stats (SHOW, jobs/ID page)
  • job ACK-ing (ACKJOB, jobs/ID page)
  • job deleting (DELJOB, jobs/ID page)

Usage

With docker

docker run -it \
  -p 127.0.0.1:9292:9292 \
  -e DISQUE_ADDRS=127.0.0.1:7711,127.0.0.1:7712,,127.0.0.1:7713,127.0.0.1:7714 \
  mxmcherry/disque-web:latest

It should be available on localhost:9292.

DISQUE_ADDRS must be accessible from docker network.

Double-comma (,,) separates different Disque clusters, in this example:

  • cluster 0: 127.0.0.1:7711,127.0.0.1:7712
  • cluster 1: 127.0.0.1:7713,127.0.0.1:7714
git clone https://github.com/mxmCherry/disque-web.git
cd disque-web
docker-compose up

It should be available on localhost:9292.

Provided docker-compose.yml does the following:

  • runs disque server
  • seeds it with dummy data
  • exposes disque-web interface on 127.0.0.1:9292
git clone https://github.com/mxmCherry/disque-web.git
cd disque-web
bundle install
DISQUE_ADDRS=127.0.0.1:7711,127.0.0.1:7712,,127.0.0.1:7713,127.0.0.1:7714 \
  bundle exec rackup \
    -o 127.0.0.1 \
    -p 9292 \
    -E deployment

It should be available on localhost:9292.

DISQUE_ADDRS must be accessible from docker network.

Double-comma (,,) separates different Disque clusters, in this example:

  • cluster 0: 127.0.0.1:7711,127.0.0.1:7712
  • cluster 1: 127.0.0.1:7713,127.0.0.1:7714

Caveats

Never try to consume API, exposed by this project, programmatically. It is done solely for project UI implementation and may/will change.

TODO

  1. Better UI - at least, if cluster has many queues, they overfill navbar, looks ugly (though still works)
  2. Paginate (or so) jobs - sometimes there may be plenty of them
  3. Some simple job filtering (probably, just on UI side)