#健康检查 #定时任务 #监控 #心跳 #执行命令

应用 task-mon

CLI用于执行命令并将结果记录到healthchecks.io

3个版本 (有重大更改)

0.3.0 2022年10月21日
0.2.0 2021年2月21日
0.1.0 2021年1月26日

#507 in 调试

MIT 许可证

24KB
345 代码行

使用Healthchecks.io进行任务监控

github crates.io build status issues license

task-mon 是一个用于在命令运行时通知Healthchecks.io的小型二进制程序。

这类似于Healthchecks文档中描述的基于curl的模式,但提供了更多灵活性和人体工程学。特别是对于shell脚本和定时任务,将健康管理委托给单独的二进制程序,让你能够专注于手头的任务。

它支持Healthchecks的先进可选功能,如报告失败附加日志监控执行时间

用法

要执行任务并在完成时ping Healthchecks.io,只需使用检查的UUID和要运行的命令调用 task-mon

$ task-mon --uuid 1234-abcd -- some_command --to --monitor
$ task-mon --ping-key abcd1234 --slug foo -- some_command --to --monitor
$ crontab -e
# m h dom mon dow command
  8 6 * * * /usr/local/cargo/bin/task-mon --uuid 1234-abcd -- some_command --to --monitor

task-mon 将运行命令并在完成时ping Healthchecks.io,报告退出状态和进程的最后10K输出。

自定义

$ task-mon --help
task-mon 0.3.0
CLI to execute commands and log results to healthchecks.io

USAGE:
    task-mon [OPTIONS] <--uuid <UUID>|--slug <SLUG>> [--] <COMMAND>...

ARGS:
    <COMMAND>...    The command to run

OPTIONS:
    -k, --uuid <UUID>                Check's UUID to ping
    -s, --slug <SLUG>                Check's slug name to ping, requires also specifying --ping-key
        --ping-key <PING_KEY>        Check's project ping key, required when using --slug [env:
                                     HEALTHCHECKS_PING_KEY=]
    -t, --time                       Ping when the program starts as well as completes
        --head                       POST the first 10k bytes instead of the last
        --ping-only                  Don't POST any output from the command
        --log                        Log the invocation without signalling success or failure; does
                                     not update the check's status
        --detailed                   Include execution details in the information POST-ed (by
                                     default just sends stdout/err
        --env                        Also POSTs the process environment; requires --detailed
        --verbose                    Write debugging details to stderr
        --user-agent <USER_AGENT>    Customize the user-agent string sent to the Healthchecks.io
                                     server
        --base-url <BASE_URL>        Base URL of the Healthchecks.io server to ping [env:
                                     HEALTHCHECKS_BASE_URL=] [default: https://hc-ping.com]
    -h, --help                       Print help information
    -V, --version                    Print version information

当然,有许多类似的项目,但我无聊,不想使用任何它们...

依赖关系

~4.5–6.5MB
~149K SLoC