systemic-service-runner
Version:
Starts systemic systems
49 lines (36 loc) • 2.02 kB
Markdown
[](https://www.npmjs.com/package/systemic-service-runner)
[](https://www.npmjs.com/package/systemic-service-runner)
[](https://github.com/guidesmiths/systemic-service-runner/actions?query=workflow%3A%22Node.js+CI%22)
[](https://codeclimate.com/github/cressie176/systemic-service-runner/maintainability)
[](https://codeclimate.com/github/cressie176/systemic-service-runner/test_coverage)
[](https://github.com/prettier/prettier)
[](https://snyk.io/advisor/npm-package/systemic-service-runner)
[](https://www.npmjs.com/package/zunit)
# Systemic Service Runner
Starts [systemic](https://github.com/guidesmiths/systemic) systems
## TL;DR
```js
const Systemic = require('systemic');
const runner = require('systemic-service-runner');
const system = new Systemic().add('config', { foo: 1, bar: 2 }).add('app', require('./my-app')).dependsOn('config');
runner(system).start((err, components) => {
if (err) throw err;
console.log('Started');
});
```
## Features
- Attempts to shutdown gracefully on error, unhandled rejection, SIGINT and SIGTERM events
- Attempts a graceful restart when `process` emits a `systemic_restart` event
## Usage
```
runner(<system>, [<options>]).start(<cb>)
```
### Default options
```js
{
logger: console,
restart: {
window: '60s'
}
}
```