corpjs-system

Describe your service resource components for graceful start and stop


Keywords
service, microservice, graceful, component, resource
License
Cube
Install
npm install corpjs-system@0.1.4

Documentation

corpjs-system

Start and stop your components in proper order

Features

Reused features from Electric by Systemic

  • System built on components
  • Dependencies between components
  • Graceful start and stop

Additional and enhanced features beyond Electric by Systemic

  • Dependencies are controlled globaly
  • More descriptive dependencies
    • renaming
    • taking subresources
  • Grouping subsystems

Additional and enhanced features beyond Systemic by corpjs-system

  • Type-based
  • Promise interface instead of callback interface
  • More ergonomic system grouping
  • Opportunity for restarting the whole system from any component
  • Opportunity for stopping the whole system from any component
  • Opportunity for ignorable component errors
  • Graceful stop and optional process exit on abnormal behavior
  • Graceful SIGINT / SIGTERM termination

Events

  • start
    • resources: ResourceDescriptor - all resources of the whole system
  • stop
  • restart
    • resources: ResourceDescriptor - all resources of the whole system after restart
  • componentStart
    • componentName: String
    • resources: ResourceDescriptor - currently available resources
  • componentStartFailed
    • componentName: String
    • error: Error
  • componentStop
    • componentName: String
  • componentStopFailed
    • componentName: String
    • error: Error
  • stopTimeout
    • stopTimeout: Number
  • componentRunFailed
    • componentName: String
    • error: Error
  • uncaughtException
    • error: Error
  • unhandledRejection
    • error: Error
  • terminate
    • signal: String
  • exit
    • code: Number