1 个不稳定版本
0.1.0 | 2024年4月29日 |
---|
#1236 在 命令行工具
51KB
956 行
容器 Cron
容器 Cron 是一个轻量级的 cron 守护进程,旨在在没有邮件功能的情况下替换 ofelia。
目前仅支持 docker 和 podman。
安装
使用 cargo 安装可执行文件
cargo install cfc
用法
您可以选择提供一个配置文件或从容器标签中提取配置。
调度格式是受 go 的实现启发的“增强”cron 格式。例如 @every 10m`` 或
0 10 * * * *`。
注意: cron 格式不需要包含秒指定符
您可以配置四种不同类型的任务
job-exec
:在运行的容器中执行。 job-run
:使用特定镜像在新的容器中执行。 job-local
:在运行 ofelia 的主机上执行。 job-service-run
:在新的“单次运行”服务中执行,用于在集群内运行
INI 风格配置
[job-exec "job-executed-on-running-container"]
schedule = @hourly
container = my-container
command = touch /tmp/cfc
YAML 风格配置
job-executed-on-running-container:
kind: job-exec
schedule: "@hourly"
container: my-container
command: touch /tmp/cfc
标签配置
docker run -it --rm \
--label cfc.job-run.my-test-job.schedule="@every 5s" \
--label cfc.job-run.my-test-job.command="echo Hello world" \
alpine:latest sleep 9999
Ofelia 兼容性
在运行 cfc 时添加 --ofelia
以运行兼容模式。
注意
虽然提供了可执行文件和库,但库仅针对可执行文件,其 API 应被视为不稳定。
依赖关系
~14–26MB
~385K SLoC