trafficcontrol / yii2-health
Yii2 module for application health reporting
Installs: 6 646
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Forks: 1
Type:yii2-extension
pkg:composer/trafficcontrol/yii2-health
Requires
- yiisoft/yii2: ^2.0
Requires (Dev)
- php: ^7.1 | ^8.0
- codeception/codeception: ^4.1
- codeception/module-asserts: ^1.3
- yiisoft/yii2-coding-standards: ^2.0
- yiisoft/yii2-queue: ^2.1
- yiisoft/yii2-redis: ^2.0
Suggests
- yiisoft/yii2-queue: For queue health reports
- yiisoft/yii2-redis: For redis health reports
This package is auto-updated.
Last update: 2025-09-29 02:58:38 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' => trafficcontrol\yii\health\Module::class,
            'components' => [
                'database' => trafficcontrol\yii\health\components\Database::class,
                'queue' => [
                    'class' => trafficcontrol\yii\health\components\Queue::class,
                    'failoverTimeout' => 600, // default is 300
                ],
            ],
        ],
    ],
    'components' => [
        // ...
            'queue' => [
                // Add this to enable last executed job timestamp logging
                'as health' => trafficcontrol\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: trafficcontrol\yii\health\components\Database - Params: - db- Database component configuration
 
- Queue - Class: trafficcontrol\yii\health\components\Queue - Params: - cache- Cache component configuration
- lastExecutedJobCacheKey- Cache key for last executed job timestamp
- failoverTimeout- Second from last executed job for queue to be reported as failed