/vertx-kue

Vert.x Blueprint Project - Vert.x Kue, a priority task queue powered by Vert.x

Primary LanguageJavaApache License 2.0Apache-2.0

Vert.x Kue

Build Status

Vert.x Kue is a priority task queue developed with Vert.x and backed by Redis. It's a Vert.x implementation version of Automattic/kue.

This blueprint is an introduction to message-based application development using Vert.x.

Detailed Document

Detailed documents and tutorials:

Features

  • Job priority
  • Delayed jobs
  • Process many jobs simultaneously
  • Job and queue event
  • Optional retries with backoff
  • RESTful JSON API
  • Rich integrated UI (with the help of Automattic/kue's UI)
  • UI progress indication
  • Job specific logging
  • Future-based asynchronous model
  • Polyglot language support
  • Powered by Vert.x!

For the detail of the features, please see Vert.x Kue Features.

Build/Run

First build the code:

gradle build -x test

Run in local

Vert.x Kue requires Redis running:

redis-server

Then we can run the example:

java -jar kue-core/build/libs/vertx-blueprint-kue-core.jar -cluster
java -jar kue-http/build/libs/vertx-blueprint-kue-http.jar -cluster
java -jar kue-example/build/libs/vertx-blueprint-kue-example.jar -cluster

Then you can visit http://localhost:8080 to inspect the queue via Kue UI in the browser.

Run with Docker Compose

To run Vert.x Kue with Docker Compose:

docker-compose up --build

Then you can run your applications in the terminal. For example:

java -jar kue-example/build/libs/vertx-blueprint-kue-example.jar -cluster

Architecture

Diagram - How Vert.x Kue works

Want to improve this blueprint ?

Forks and PRs are definitely welcome !