Skip to main content

Module creation

Module creation 

Source
Expand description

数据库备份执行、进度更新与 uploads 素材打包。

Structs§

BackupGuard 🔒
持有期间占住备份单飞标记;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),按表计数精确进度。