#checking #tool #stampfile #flyweight #freshness

app stampiotic

检查 stampfile 新鲜度的轻量级工具

1 个稳定版本

1.0.0 2023年1月31日

#356日期和时间

MIT 许可证

6KB
55

stampiotic

检查 stampfile 新鲜度的轻量级工具。

安装

使用以下命令从源安装

$ cargo install stampiotic

您可以使用 Nightly 的 build-std 功能构建优化后的二进制文件,节省约 200 KiB。

$ cargo +nightly build --release
    -Z build-std=std,panic_abort
    -Z build-std-features=panic_immediate_abort
    --target x86_64-unknown-linux-gnu

为什么?

启动一个 shell(或者更糟糕的是,一个 Python 或 Perl 脚本)比调用一个小二进制文件要长得多,为什么要费那个劲?某些容器甚至可能默认不包含 shell。 stampiotic 有一个依赖项:libc。

stampiotic 是在 Kubernetes 中实现看门狗定时器的特别有用的工具。旧服务可以定期修改 stampfile,然后可以使用 stampiotic 作为定期 Kubernetes 健康检查来检查它。

用法

$ stampiotic max-age stampfile [...]

例如。

$ stampiotic 60s /run/foo/foo-server.stamp 60s
$ stampiotic '30 min' make.stamp
$ stampiotic 1d long-process-1.stamp long-process-2.stamp
File "long-process-2.stamp" is too old (12345s > 86400s)
$ echo $?
1

最大年龄解析

持续时间由 humantime 解析。

单位 支持的后缀 定义
纳秒 nsec/ns 10−9 秒
微秒 usec/us 10−6 秒
毫秒 msec/ms 10−3 秒
seconds/second/sec/s 1 秒
分钟 minutes/minute/min/m 60 秒
小时 hours/hour/hr/h 3600 秒 = 60 分钟
days/day/d 86,400 秒 = 24 小时
weeks/week/w 604,800 秒 = 7 天
months/month/M 30.44 天 = 2630016 秒
years/year/y 365.25 天 = 31557600 秒

依赖项

~43KB