@pager/minion-army

2.2.1 • Public • Published

minion-army

Microservice Framework for RabbitMQ Workers

usage

const Army = require('@pager/minion-army');
const Joi = require('joi');

// Refer to lib/schema.js to see valid options
const manifest = {
    connection: { // optional, if not provided will default to a rabbit connection to local host
        rabbitUrl: 'amqp://localhost'
    },
    defaults: { // default values that apply for all workers
        exchangeName: 'my-exchange-name'
    },
    workers: [
        {
            handler: (message) => console.log('my job is to log this', message),
            config: { // same config as expected by minions
                name: 'jobs.logging',
                key: 'events.something.happened'
            },
            validate: Joi.object({ // set a joi schema to validate handler input (optional)
                id: Joi.string().required()
            })
        },
        {
            handler: (message) => true,
            config: {
                name: `jobs.trueing`,
                key:  `events.something.happened`
            }
        }
    ]
};

const army = Army(manifest);

army.start(); // if you provide defaults.autoStart = true this is not needed

Package Sidebar

Install

npm i @pager/minion-army

Weekly Downloads

670

Version

2.2.1

License

MIT

Unpacked Size

23.6 kB

Total Files

10

Last publish

Collaborators

  • craig-parker-pager
  • jvelezpo
  • kevinchang-pager
  • amalajose-onlife
  • lancehamiltonolh
  • jay-darren-miller
  • meerabjorn-onlife
  • richibbs
  • moui
  • matthew_moss
  • max-d-lucas
  • justin_pennington
  • cody-greene
  • adimoff
  • lance_lyons
  • felipe.correa
  • catherinekimyj-pager
  • zacharyjuang
  • 18sheimanr
  • sapnamate
  • nachocasas
  • slimoges-onlifepager
  • petermai-pager
  • brianseidl_pager
  • esteban.villa
  • joe.wacker.pager
  • batroukhhamza
  • calvinkosmatka
  • i-am-ian
  • timvallier-pager
  • ankita.banait
  • lgenzelis
  • alena.b.pager
  • tjharke13
  • marcie.price
  • melinamejia95
  • kyleherrmann
  • durenh
  • juanpahdz
  • luciabrumnich.pager
  • chrisft25
  • juandara22
  • m4shu
  • juancabuhe
  • joan.semander
  • mariano-ramonda
  • fauricio-pager
  • divyasehgal
  • mark.ferris
  • dmsq22
  • exequiel-sanoner
  • juan.lacoste.pager
  • jiggyjigsj
  • ijuani
  • jsanmi
  • aftab-alam-khan
  • peter-vizi-pager
  • ramanvas
  • epsanchezma
  • circle-pager
  • sa-pagerinc-automation
  • fcue
  • roybay04
  • shankyjs
  • ryshah1207
  • gh0stl1m-p
  • ilmancino
  • blaine-pager
  • jmelero.pager