Closed ihufu closed 2 months ago
你的问题和以下两个 Issue 相关:
目前这个服务还不支持自动清理文件,暂时可以手动通过加入 crontab 来清理,例如只保留 1 天的 WebP 缓存,类似如下:
0 0 * * * find /path/to/your/webp/exhaust/ -type f -ctime +1 -exec rm {} \;
如果未来我们要加入类似的功能的话,你期待的是一种什么样的配置形式呢?(例如,设定最大缓存总容量?)
我希望是设定最大容量,这样到达了最大限制就删除最早缓存的。 CACHE_TTL 这个ttl到期会自动删除吗? metadata、remote-raw这两个目录不需要删除吗?
根据文档: https://docs.webp.sh/usage/configuration/, CACHE_TTL
的设定是在使用 Remote Backends 的时候回源探测的时间(即一次成功回源后 N 分钟内不再回源探测)。
metadata、remote-raw 也可以一并删除,我们在考虑在后续开发加入一个 MAX_CACHE_SIZE
参数指定最大缓存容量(单位是 MB),这样设定了非 0 的值后 WebP Server Go 会自动间隔 X 时间(分钟)清理 exhaust
,metadata
和 remote-raw
目录保证分别不超过设定值,敬请期待。
如果这个MAX_CACHE_SIZE是非“0”值把转换的图片清理了,CACHE_TTL也没到期,那还会去后端回源探测吗?
如果这个MAX_CACHE_SIZE是非“0”值把转换的图片清理了,CACHE_TTL也没到期,那还会去后端回源探测吗?
(如果未来我没写出 Bug 的话)会的,因为本地已经找不到转换的图片了,所以会回源检测+重新拉取原图+转换。
0 0 find /path/to/your/webp/exhaust/ -type f -ctime +1 -exec rm {} \; 0 0 find /path/to/your/webp/metadata/ -type f -ctime +1 -exec rm {} \; 0 0 * find /path/to/your/webp/remote-raw/ -type f -ctime +1 -exec rm {} \;
是不是把对应的目录改成这样就可以只保留一天的数据了? 这些都是本地对应的目录吗?
看上去没错,「本地对应的目录」是指?
就是物理机映射到docker的目录
那应该没错
那就只能先用任务计划了,在等你们更新。
@ihufu 我们发布了 0.12.0,加入了 MAX_CACHE_SIZE
选项,欢迎试用体验,相关文档:https://docs.webp.sh/usage/configuration/
https://github.com/webp-sh/webp_server_go/releases/tag/0.12.0
336 这个啥时候能修复啊
这个问题我们已经在原 Issue 中回复,我们目前倾向于对于有同样前缀的路径应该按照由长到短的顺序配置,暂无明确优化时间。
“MAX_CACHE_SIZE”这个的默认单位是MiB,能不能改成用户自定义,比如我要限制100g。 "MAX_CACHE_SIZE": 100g, 这样是不是更方便。
“MAX_CACHE_SIZE”这个的默认单位是MiB,能不能改成用户自定义,比如我要限制100g。
"MAX_CACHE_SIZE": 100g, 这样是不是更方便。
暂无此计划,如有PR欢迎
我是用来转换图片站的,会经常把硬盘用到100%导致无法使用。 我翻看了参数没有说到限制硬盘使用,有什么方法能限制吗。