软垫 / health-bundle
Symfony 微服务健康检查的Bundle
Requires
- php: ^8.1
- ergebnis/json-printer: ^3.2
- psr/container: >=1.1
- psr/log: >=1.0
- symfony/config: ^6.0
- symfony/dependency-injection: ^6.0
- symfony/framework-bundle: ^6.0
- symfony/messenger: ^6.0
- symfony/yaml: ^6.0
- thecodingmachine/safe: ^2.1
Requires (Dev)
- behat/behat: ^3.6
- brianium/paratest: ^6.4
- doctrine/dbal: ^3.3
- doctrine/doctrine-bundle: ^2.6
- doctrine/doctrine-migrations-bundle: ^3.2
- dvdoug/behat-code-coverage: ^5.2
- ergebnis/composer-normalize: ^2.25
- friends-of-behat/symfony-extension: ^2.3
- infection/infection: dev-master
- jangregor/phpstan-prophecy: ^1.0
- php-coveralls/php-coveralls: ^2.5
- php-ds/php-ds: ^1.4
- phpmd/phpmd: ^2.12
- phpmetrics/phpmetrics: ^2.8
- phpspec/prophecy-phpunit: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.6
- phpunit/php-code-coverage: ^9.2
- phpunit/phpcov: ^8.2
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.6
- symfony/dotenv: ^6.0
- symfony/flex: ^2.0
- symfony/http-client: ^6.0
- symfony/phpunit-bridge: ^6.0
- symfony/runtime: ^6.0
- vimeo/psalm: ^4.22
Suggests
- ext-ds: PHP data structures for handling Sets. See https://php.ac.cn/manual/en/book.ds.php
- ext-pcov: Fast code coverage extension
- ext-zend-opcache: Zend Op Cache to improve performance
This package is auto-updated.
Last update: 2024-09-17 08:53:35 UTC
README
概述
此Bundle为Symfony应用程序提供一个迷你框架,以查询其当前“健康状况”。具体来说,“健康”和“不健康”的含义取决于应用程序,必须进行定义。然而,创建用于查询(并提供健康报告)的Symfony控制器和命令的样板代码已由Bundle处理。
安装
安装此Bundle的唯一支持方法是使用composer
composer require cushon/health-bundle
推荐的包和扩展
在composer.json
的suggest
部分中包含了一些库和包。该Bundle使用PHP数据结构中的Set
类。然而,使用DS polyfill以确保该Bundle可以在没有扩展的栈上运行。
配置
API错误响应代码
当认为服务不健康时,API端点将默认返回500状态代码。您可以通过将以下内容添加到您的Symfony配置YAML文件中来配置它
cushon_health: error_response_code: !php/const Symfony\Component\HttpFoundation\Response::HTTP_SERVICE_UNAVAILABLE
注意,上述代码片段显示了一个错误响应代码为503。您可以在此处指定任何状态代码,包括如果您愿意的200。
控制台命令
用法
bin/console cushon:health
输出示例
JSON API端点
默认端点是/health
。
入门
请参阅创建依赖项检查的部分。
结构
生产构建中使用的目录
/src
: 包含Bundle代码。与标准设计略有不同,但遵循Symfony Bundle System的标准。
/docs
: 项目的文档和指标汇总。
不包括在发布中的目录和文件
以下文件和目录不包括在发布中,以降低存档复杂性。如果您想查看整个项目,您可以选择本地克隆项目或不在您的composer
文件中优先选择分发。
/app
- 包含一个用于运行集成和行为测试的Symfony 6应用程序,并提供了示例
/docker
- 包含用于运行API示例的Dockerfile和nginx配置,并用于针对PHP版本进行测试。项目根目录中的docker-compose.yml也被移除了。
/features
- 包含Gherkin简化场景,用于驱动行为测试并提供示例规格说明。
/tests
- 使用发布版本时,测试将被排除。
此外,运行测试和质量工具的文件(例如 infection.json
、phpunit.xml.dist
)也将被省略。