An open API service indexing awesome lists of open source software.

https://github.com/jaystack/corpjs-system

Start and stop your modules in proper order
https://github.com/jaystack/corpjs-system

Last synced: 3 months ago
JSON representation

Start and stop your modules in proper order

Awesome Lists containing this project

README

        

# 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`