fix: fence concurrent ZIP archive builds
This commit is contained in:
@@ -278,6 +278,7 @@ dotenvy = "0.15"
|
||||
- 图片压缩使用 `spawn_blocking` 避免阻塞异步线程
|
||||
- `WORKER_TASK_CONCURRENCY` 控制任务级并发,避免大批量任务独占 Worker
|
||||
- `WORKER_CONCURRENCY` 控制单任务内文件并发,`IMAGE_PROCESSING_CONCURRENCY` 作为进程级 CPU 闸门
|
||||
- `ZIP_BUILD_CONCURRENCY` 是 API 进程级 ZIP 闸门;数据库租约保证同一任务跨实例只构建一次,`ZIP_MAX_ENTRIES` 和 `ZIP_MAX_UNCOMPRESSED_BYTES` 在下载源对象前拒绝超预算任务
|
||||
|
||||
```rust
|
||||
// 在独立线程池中执行 CPU 密集型压缩
|
||||
@@ -290,6 +291,7 @@ let result = tokio::task::spawn_blocking(move || {
|
||||
- 流式处理大文件
|
||||
- 限制并发压缩任务数
|
||||
- 压缩完成后立即清理临时文件
|
||||
- ZIP attempt 使用独立临时目录和对象键;发布 CAS 失败时立即删除,两项默认并发且每项 2 GiB 上限时应至少预留约 8 GiB 临时磁盘余量
|
||||
|
||||
### 3. 缓存策略
|
||||
- Redis 缓存用户会话
|
||||
|
||||
Reference in New Issue
Block a user