Expand description
数据库备份执行、进度更新与 uploads 素材打包。
Structs§
- Backup
Guard 🔒 - 持有期间占住备份单飞标记;drop(含任务 panic 展开)时释放。
run_backup按值接收,保证每个备份任务都先拿到它。
Constants§
- BACKUP_
BUSY 🔒 - 已有备份在跑时拒绝新备份的提示(手动与自动共用)。
Statics§
- BACKUP_
RUNNING 🔒 - 进程内备份单飞标记:同一时刻只允许一个备份任务写 backups/。
Functions§
- create_
uploads_ 🔒tarball - 把 uploads 目录打成 tar.gz(排除可重建的 .cache/ 与 VCS 占位 .gitkeep)。 阻塞 IO + CPU(gzip),调用方须放 spawn_blocking。 uploads_dir 显式传入(而非写死相对路径)便于测试注入临时目录。
- run_
auto_ 🔒backup - 定时任务入口:注册任务后执行自动备份,返回结果供调度器落库 last_run。 手动备份仍在跑时跳过本次,不注册任务。
- run_
backup 🔒 - 后台执行备份:pg_dump 优先,不可用回退纯 SQL;成功后按设置打包 uploads, 自动备份再做轮转。Ok/Err 均已同步进任务进度表(供前端轮询),返回值供 调度器落库 last_run。
- run_
pg_ 🔒dump_ backup - run_
sql_ 🔒fallback_ backup - 纯 SQL 回退:仅备份数据(不含 schema),按表计数精确进度。