在执行包装的obj之前和之后ping url的装饰器。
babis的Python项目详细描述
巴比斯
在执行包装的obj之前和之后ping url的装饰器。有助于 使用诸如Dead Man’s Snitch或 HealthChecks.io。
功能
- 运行前和运行后ping
- 自定义用户代理
- 无声故障
- 速率限制
使用量
成功执行后ping:
@babis.decorator(ping_after='http://healthchecks.io/XXX') def cron_job(): pass
一些服务支持前后挂钩来测量运行时间:
@babis.decorator(ping_before='http://healthchecks.io/XXX', ping_after='http://healthchecks.io/XXX') def measured_cron_job(): pass
您也可以发送帖子而不是默认的get:
@babis.decorator(ping_before='http://healthchecks.io/XXX', method='post') def cron_job_with_post(): pass
如果您不在乎ping是否失败,请消除错误:
@babis.decorator(ping_before='http://healthchecks.io/XXX', silent_failures=True) def cron_job_silent_failure(): pass
您还可以限制发送的ping数,以便与第三方玩得很好 服务,假设5分钟内最多打一个电话:
@babis.decorator(ping_after='http://healthchecks.io/XXX', rate='1/5m') def cron_job_rate_limited(): pass
或每天最多24个电话:
@babis.decorator(ping_after='http://healthchecks.io/XXX', rate='24/1d') def cron_job_rate_limited(): pass
注意,如果在之后和之前都定义了ping\u,则每次调用 按速率限制器两次命中计数。
学分
这个包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。
历史记录
0.2.0(2017-05-24)
- 添加速率限制。
0.1.0(2016-08-23)
- pypi上的第一个版本。