Narnia's Psychedelic Mushrooms

    This package has been deprecated

    Author message:

    no longer in use

    @emartech/rabbitmq-worker

    1.7.1 • Public • Published

    @emartech/rabbitmq-worker

    BaseWorker

    Automatically logs worker failures with context and elapsed time on success run.

    Methods

    retry(message, errorCode)

    Re-queues the currently processed message for retry.

    queueWorker(workerId, options)

    Starts a new worker with the given worker id.

    To set required keys in the options, set requiredKeys in the worker's configuration as an array.

    Example

    const { BaseWorker } = require('@emartech/rabbitmq-worker');
     
    class MyWorker extends BaseWorker {
     
      async run(options) {
        console.log(options); // { option: 'foo' }
        console.log(this.config.foo); // bar
        
        if (errorHappened) {
          this.retry('Something happened', 400);
        }
        
        
        this.queueWorker('NextWorker', { newVar: 'foo' });
      }
     
    }
     
    MyWorker
      .create('my-worker-log-namespace')
      .execute({foo: 'bar'}, { option: 'foo' });

    Ignition

    Starts the given type of worker to consume a RabbitMQ queue.

    A sample worker starting script my-worker.js:

    const { Ignition } = require('@emartech/rabbitmq-worker');
    const workerPool = require('./worker-pool');
     
    Ignition.create(workerPool).start('MyWorker');

    RabbitMq

    See @emartech/rabbitmq-client for more information.

    Configuration

    @emartech/rabbitmq-worker uses node-config `package for configuration.

    Required configuration example

    {
      "RabbitMQ": "rabbitmq://connection",
      "Workers": {
        "MyWorker": { // All worker requires a config for it to run
          "queueName": "my-worker", // The queue's name to get options (message)
          "concurrency": 3, // Number of worker instances to start
          "prefetchCount": 10, // Prefetch count for consumer
          "autoNackTime": 60000, // Auto time-out for worker
          "customConfigVar": "foo"
        }
      }
    }

    Worker pool example

    {
      MyWorker: require('./workers/my-worker')
    }

    Keywords

    none

    Install

    npm i @emartech/rabbitmq-worker

    DownloadsWeekly Downloads

    4

    Version

    1.7.1

    License

    ISC

    Unpacked Size

    15.3 kB

    Total Files

    13

    Last publish

    Collaborators

    • nvkaur2
    • xueboliang
    • jbleclerc
    • roxanams
    • b-laczko
    • jahwjgxvfuxdesha
    • apoon
    • mhermann36
    • sevket-ataseven
    • jamescocker
    • arnaud.buchholz
    • jerryrichardson
    • davidpal
    • retfalvibence
    • varszegik
    • burci
    • cztamas
    • akapa
    • mkls
    • probalazs
    • kaaj
    • knagy
    • pecc
    • kszalontai
    • rehreth
    • mhegedus
    • tszabo-e
    • mmartin
    • nikolett.tar
    • bsoos
    • emarsys-deployer
    • draven
    • npospischek-emartech
    • judge
    • daniel.banky
    • szeist
    • rgargya
    • lillavirag
    • marton.papp.emarsys
    • dgyenes
    • s.viktor
    • m4w4q7
    • david.barkoczi
    • dkocsis-emarsys
    • blacksonic
    • qw3r
    • tamas.toth
    • gergaczd
    • csimon
    • pintera
    • adambrunner
    • dmorvai
    • gerike
    • ins
    • alkra
    • epgrubmair
    • suliatis
    • morban
    • ettancos
    • epmartini
    • ejgyurisan
    • gabor.balla.emarsys
    • hozeee
    • mzsombor
    • ejpersson
    • ejwalker
    • czeildi
    • llosonczy
    • iben12
    • kartonfarkas
    • adamoa
    • mbarna
    • kpatrik
    • peva
    • bforgacs
    • kozma
    • serdelyi
    • ngabor84
    • zerosuxx
    • madorjan
    • edosrecki
    • eadaniel
    • selator
    • kkimak
    • daniel.balazs
    • szb
    • gaborb
    • bencso
    • glendvai
    • lveraszto
    • stoto
    • xipascu
    • rimo86
    • atittel
    • sfariel
    • rdoczi
    • mfawal
    • fentosi
    • boristomic
    • mbazso
    • dmihalek
    • lhammerl
    • sigee
    • lhalasz
    • evspasevski
    • eslesnjakovic
    • dsztanko
    • tbugar
    • dharanikesav
    • tillmannr
    • fqqdk
    • eggarcia
    • bcsizmadia
    • ems-zoltan-kohalmy
    • minktom
    • menyhertfatyol
    • bvitalyos
    • zoltanrideg-emarsys
    • sarakoll
    • mmolnar-emar
    • bozsadam
    • cseby92
    • attila.gal
    • akoshegel
    • danielbodis
    • zbalazs
    • ziyadg
    • benjamingehl
    • tdorkaa
    • lkonya
    • tcsontos
    • gpap_ema
    • vimtaai
    • ahorvath1991
    • emarsys-security
    • lloki-emarsys
    • bdorogi
    • e.david
    • borzi
    • kari0003
    • dmaraki
    • kaposioli
    • rigo_tamas_emarsys
    • aurelissima
    • barna001
    • viktor.szell
    • pmaksa_emarsys
    • znemes
    • dfarago
    • skorsik
    • esookitoth