hapiest-kue

Simple wrapper for Kue that hooks it up with node-config and provides logical separation between job creation and job processing

Usage no npm install needed!

<script type="module">
  import hapiestKue from 'https://cdn.skypack.dev/hapiest-kue';
</script>

README

Purpose

hapiest-kue provides a light-weight wrapper around kue designed with engineering best practices in mind. You must explicitly request permission to create jobs or process jobs separately (as opposed to having direct access to Queue which lets you do both). It works with Node config out of the box giving you flexibility to configure your Redis connection. It only returns a job after it's successfully created and uses a Promise interface using Bluebird Promise implementation.

Setup

  1. Install Docker! https://docs.docker.com/engine/installation/

  2. Build the docker image

npm run docker:build

  1. If you're using an IDE, I recommend setting NODE_CONFIG_DIR to src/config.

  2. If you want to run tests on your local machine instead of Docker, you should create src/config/default.json with Redis connection locally:

{
  "queue": {
    "redis": {
      "host": "192.168.99.100",
      "port": "6379",
      "db": 5
    }
  }
}
  1. Run docker-compose up

Running tests

The official tests should be run using npm test