Channels reference themselves with timeout's, meaning that they cannot be garbage collected by v8. This is a workaround that stops us from creating more and more channels; thus fixing a memory leak. |
||
|---|---|---|
| .github | ||
| .husky | ||
| e2e | ||
| lib | ||
| sample | ||
| tools | ||
| .commitlintrc.json | ||
| .eslintignore | ||
| .eslintrc.js | ||
| .gitignore | ||
| .npmignore | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| .release-it.json | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Gulpfile.js | ||
| index.d.ts | ||
| index.js | ||
| index.ts | ||
| jest.json | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| renovate.json | ||
| tsconfig.base.json | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
A progressive Node.js framework for building efficient and scalable server-side applications, heavily inspired by Angular.
Description
This module contains integrated healthchecks for Nest.
Installation
@nestjs/terminus integrates with a lot of cool technologies, such as typeorm, grpc, mongodb, and many more!
In case you have missed a dependency, @nestjs/terminus will throw an error and prompt you to install the required dependency.
So you will only install what is actually required!
npm install --save @nestjs/terminus
Usage
- Import the Terminus module
- Make sure the additionally needed modules are available to (e.g.
TypeOrmModule), in case you want to do Database Health Checks.
// app.module.ts
@Module({
controllers: [HealthController],
imports:[
// Make sure TypeOrmModule is available in the module context
TypeOrmModule.forRoot({ ... }),
TerminusModule
],
})
export class HealthModule { }
- Setup your
HealthControllerwhich executes your Health Check.
// health.controller.ts
@Controller('health')
export class HealthController {
constructor(
private health: HealthCheckService,
private db: TypeOrmHealthIndicator,
) {}
@Get()
@HealthCheck()
readiness() {
return this.health.check([
async () => this.db.pingCheck('database', { timeout: 300 }),
]);
}
}
If everything is set up correctly, you can access the healthcheck on http://localhost:3000/health.
{
"status": "ok",
"info": {
"database": {
"status": "up"
}
},
"details": {
"database": {
"status": "up"
}
}
}
For more information, see docs. You can find more samples in the samples/ folder of this repository.
Contribute
In order to get started, first read through our Contributing guidelines.
Setup
Setup the development environment by following these instructions:
- Fork & Clone the repository
- Install the dependencies
npm install
# To rebuild the project, run
npm run build
Test
For unit testing run the following command:
npm run test
For e2e testing, make sure you have docker installed
docker-compose up -d
npm run test:e2e
Support
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
Stay in touch
- Author - Kamil Myśliwiec and Livio Brunner
- Website - https://nestjs.com
- Twitter - @nestframework
License
Nest is MIT licensed.