fix: switch blob sharding from uuid7 leading hex to random tail in attachments, project_files, and zip_service

This commit is contained in:
2026-06-13 19:12:54 +00:00
parent 1294c95bed
commit 5c199474f3
5 changed files with 9 additions and 9 deletions
+2 -5
View File
@@ -9,6 +9,7 @@ from pathlib import Path
from devplacepy.config import BASE_DIR, ZIPS_DIR, ZIP_STAGING_DIR
from devplacepy import project_files
from devplacepy.attachments import _directory_for
from devplacepy.services.jobs.base import JobService
from devplacepy.utils import generate_uid, slugify
@@ -17,10 +18,6 @@ logger = logging.getLogger(__name__)
WORKER_MODULE = "devplacepy.services.jobs.zip_worker"
def _shard(uid: str) -> str:
return f"{uid[:2]}/{uid[2:4]}"
class ZipService(JobService):
kind = "zip"
title = "Zip"
@@ -43,7 +40,7 @@ class ZipService(JobService):
fail_meta = {"project_uid": project_uid}
try:
item_count = await asyncio.to_thread(self._materialize, source, staging)
tmp_dir = ZIPS_DIR / _shard(uid)
tmp_dir = ZIPS_DIR / _directory_for(uid)
tmp_dir.mkdir(parents=True, exist_ok=True)
tmp_zip = tmp_dir / f"{generate_uid()}.zip"
stats = await self._run_worker(staging, tmp_zip)