金字塔的健康检查扩展

pyramid_health的Python项目详细描述


简单的金字塔健康检查端点,带有维护模式和应用程序 检查。

安装

使用setuptools安装,例如(在virtualenv中):

$ pip install pyramid_health

设置

安装pyramid_health后,必须使用config.include 将其包含到金字塔项目配置中的机制。在你的 金字塔项目的__init__.py

config=Configurator(.....)config.include('pyramid_health')

或者,您可以在 .ini文件:

[app:myapp]pyramid.includes=pyramid_health

用法

金字塔健康配置(默认值):

[app:myapp]healthcheck.url=/healthhealthcheck.disablefile=/tmp/maintenance  # touch this file to activatehealthcheck.maintenance_code=299  # Code to return in maintenance modehealthcheck.failure_code=503  # Code to return when one or more checks fail

操作

当应用程序正常时,金字塔健康端点返回200 OK。 当您启用维护模式时,端点返回299 MAINTENANCE 和日志Health response: MAINTENANCE。 如果对healthcheck端点的请求请求应用程序检查,并且 一个或多个应用程序检查返回一个错误,端点返回 503 ERROR和日志Health response: ERROR (<all-check-results>)

应用程序检查

应用程序检查是应用程序中订阅 pyramid_health.HealthCheckEvent事件,执行特定的运行状况检查并 将结果报告为状态(OKERROR)和可选消息。

除非使用 请求参数checks设置为trueall(例如: GET /health?checks=all

要在应用程序中添加应用程序,请签入:

frompyramid.eventsimportsubscriberfrompyramid_healthimportHealthCheckEvent@subscriber(HealthCheckEvent)defdb_check(event):try:db.ping()except:event.report(name='db',status='NOK',message='ping failed')else:event.report(name='db',status='OK')

注意:

  • 您可以或不可以报告后续支票

维护模式

在维护模式下,healthcheck端点的响应更改为通知 此后端不可用的http客户端。通常是负载平衡器 在维护中轮询后端将停止向后端发送流量 模式。

默认情况下,响应状态代码为299 MAINTENANCE。你可以 用healthcheck.maintenance_code更改它。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java用变化的替换字符串替换子字符串   从数据库中断中恢复的oracle Java DAL?   Android/Java页边距位于左/右/底部   java如何用相同的源代码构建不同的APK?(我发现了一个错误)   java正则表达式,仅当字符串以一行中的3个数字开头时才匹配第一个数字   使用以xml为输入的给定端点调用java中的rest-ful web服务?   java长字符串转换为UTF8引发异常   java如何使用截取方法获取ArrayList   java将计算列添加到可观察列表中   正则表达式如何在java正则表达式中使用组?   java正则表达式只接受字母表和空格,不允许在字符串的开头和结尾使用空格   java简单onclick按钮在安卓中不起作用   java如何在Spring中只实现Crudepository的特定方法?   java无法使用json对象NPE读取jsonarray   java我可以添加maven依赖项,这些依赖项被打包为除此之外的任何东西。罐子