0.0.8 • Published 1 year ago

moleculer-queues v0.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Moleculer logo

moleculer-queues NPM version

Redis-based queue for moleculerjs using Bull.

This package was created with the purpose of solving some problems with the original "moleculer-bull" package, with a new logic this module allows to run jobs manually using "methods" this to avoid "duplication of jobs when the service starts" , it also supports repetitive jobs just like "bull" does, each task is restarted every time the service stops thus avoiding task overload and "double-run"

The main idea of this package is to allow it to support multiple types of "queue" like (bee-queue, cron, etc) in the same way as a task monitor, so far it supports only "bull"

Installation

Install my-project with npm

npm install moleculer-queues --save

or

yarn add moleculer-queues

Usage/Examples

const MoleculerQueues = require('moleculer-queues');

broker.createService({
  name: 'service-example',
  //Default redis is "localhost"
  mixins: [MoleculerQueues('PrefixName', { redis: 'redis://127.0.0.1:6379' })],
  methods: {
    yourMethod(payload) {
      //Some logic...

      this.addJobQueue('SendEmail', {
        //Your playload data..
      });
    },
  },
  queues: [
    {
      name: 'SendEmail',
      async handler(job, done) {
        this.logger.info('Sending notification..');

        //Some logic...

        return done(null, {
          message: 'Notification sent!',
        });
      },
    },
  ],
});

To-do

  • Unit Testing
  • Real Example
  • Add support for multiples "queues packages"
  • Allow to add custom "queue processor"
0.0.8

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago