0.2.1 • Published 5 years ago

seneca-service v0.2.1

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

Seneca

Utility for managing Seneca Microservices

seneca-service

Lead Maintainer: Stephen Halliburton


npm version Build Status Dependency Status Coverage percentage

Table of Contents


Installation

$ npm i -S seneca-service

Features

  • Create Messaging/RESTful Seneca Microservices
  • Attach any number of custom plugins onto the Service
  • Specify different messaging systems to use (default: AMQP 0-9-1)

Usage

The most basic usage of this package is to create a service listener on a particular pin, e.g.: createService(PIN, options).

PIN:

Type The type of Messaging that will be used by the service (default AMQP 0-9-1) url The URL or connection string for the messaging system that is being used pin The pattern that the service will listen on and respond with different actions

Options:

serviceType The type of Service being created ('client' or 'listener') plugins The list of plugins that will be used by this service (i.e. a set of actions for a given pattern) clients (optional) A list of other services that this service is a client to (i.e. can send/receive messages)

// Import the Package
import { createService } from "seneca-service";

// Assuming you have a plugins directory where you export your plugins
import plugins from "./plugins";

// Create a Service
const service = createService(
  {
    type: "amqp",
    url: "AMQP_CONNECTION_STRING",
    pin: {
      role: "db",
      cmd: "*"
    }
  },
  {
    serviceType: "client",
    plugins
  }
);

// Start the Service
service.start();

Tests

  • To run the unit test: npm test

Support

Reach out to me at the following:

  • Email at sah27513@gmail.com

License

MIT © stephen halliburton