forked from retoor/devplacepy
fix: switch blob sharding from uuid7 leading hex to random tail in attachments, project_files, and zip_service
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user