fix(sharecode): 支持分享码TTL配置并限制每MAC分享码数

- 配置增加 ShareCodeMaxPerMac 和 ShareCodeTTLMin 参数
- ShareCodeCache 支持自定义分享码有效期 TTL
- 生成分享码时使用配置的 TTL 替代固定30分钟
- 共享码处理添加限制,同一MAC有效分享码数量限制
- 路由层、处理器层和任务调度中增加TTL及限额参数传递
- 同步脚本默认同步路径调整,去除默认同步Docker文件,增加docs目录同步
- 修正上传脚本拼接远程路径时尾部斜杠问题
This commit is contained in:
eafonyang
2026-06-12 18:29:08 +08:00
parent 28fb798926
commit 598bbd4998
6 changed files with 82 additions and 41 deletions
+9 -6
View File
@@ -1,16 +1,15 @@
#!/usr/bin/env bash
set -euo pipefail
REMOTE_DIR="/data/project/app-api/"
REMOTE_DIR="/data/project/app-api"
DEFAULT_PATHS=(
./cmd/
./internal/
./pkg
./pkg/
./docs/
./go.mod
./go.sum
./Dockerfile
./docker-compose.yml
)
show_help() {
@@ -30,12 +29,15 @@ show_help() {
路径:
指定要同步的文件或目录,可传多个。
省略时使用默认路径: cmd/ internal/ pkg go.mod go.sum Dockerfile docker-compose.yml
省略时使用默认路径: cmd/ internal/ pkg/ docs/ go.mod go.sum
注意: Dockerfile 和 docker-compose.yml 未包含在默认路径中(如需同步请手动指定)
示例:
upload.sh 同步默认路径到 api1 和 api2
upload.sh api1 同步默认路径到 api1
upload.sh api2 ./internal 同步 internal/ 到 api2
upload.sh api1 Dockerfile 单独同步 Dockerfile 到 api1
upload.sh -n 虚拟执行,预览同步到 api1 和 api2
upload.sh -n api1 ./internal 虚拟执行,预览同步到 api1
EOF
@@ -73,7 +75,8 @@ upload_to() {
local item rel remote_path
for item in "${paths[@]}"; do
rel="${item#./}"
remote_path="${REMOTE_DIR}${rel}"
rel="${rel%/}" # 剥离尾部斜杠,避免拼接时出现双斜杠
remote_path="${REMOTE_DIR}/${rel}"
if [[ -d "$item" ]]; then
echo " 同步目录: $item -> ${remote_host}:${remote_path}/"