alexeevdv / yii2-health
Yii2 module for application health reporting
Installs: 3 113
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- yiisoft/yii2: ^2.0
Requires (Dev)
- php: ^7.1
- codeception/codeception: ^3.0
- yiisoft/yii2-coding-standards: ^2.0
- yiisoft/yii2-queue: ^2.1
Suggests
- yiisoft/yii2-queue: For queue health reports
This package is auto-updated.
Last update: 2024-11-12 18:56:04 UTC
README
Yii2 module for application health status reporting
Installation:
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist alexeevdv/yii2-health "^1.0"
or add
"alexeevdv/yii2-health": "^1.0"
to the require section of your composer.json.
Configuration:
//... 'modules' => [ 'health' => [ 'class' => alexeevdv\yii\health\Module::class, 'components' => [ 'database' => alexeevdv\yii\health\components\Database::class, 'queue' => [ 'class' => alexeevdv\yii\health\components\Queue::class, 'failoverTimeout' => 600, // default is 300 ], ], ], ], 'components' => [ // ... 'queue' => [ // Add this to enable last executed job timestamp logging 'as health' => alexeevdv\yii\health\behaviors\QueueBehavior::class, ], 'urlManager' => [ 'rules' => [ // Add url rule to access health status report 'api/v1/health' => '/health', ], ], // ... ], //...
Usage:
$ curl http://localhost/api/v1/health
{
"status": "warn",
"checks": {
"database": [
{
"type": "datastore",
"status": "pass",
"time": "2019-07-09T07:32:10+0000",
"output": ""
}
],
"queue": [
{
"type": "component",
"status": "warn",
"time": "2019-07-09T07:32:10+0000",
"output": "No jobs were executed yet"
}
]
}
}
Supported components:
-
Database
Class: alexeevdv\yii\health\components\Database
Params:
db
- Database component configuration
-
Queue
Class: alexeevdv\yii\health\components\Queue
Params:
cache
- Cache component configurationlastExecutedJobCacheKey
- Cache key for last executed job timestampfailoverTimeout
- Second from last executed job for queue to be reported as failed