真人素材库遗漏文件追加

This commit is contained in:
2026-07-06 15:38:13 +08:00
parent eac29371ea
commit 8389ae1db6
3 changed files with 1059 additions and 9 deletions
File diff suppressed because one or more lines are too long
@@ -1,6 +1,5 @@
from __future__ import annotations
import asyncio
import logging
from typing import Any
@@ -20,14 +19,12 @@ from app.services.private_portrait.asset_service import (
recover_remote_deletes_once,
sync_asset_status,
)
from app.tasks.async_runner import run_async
from app.tasks.celery_app import celery_app
logger = logging.getLogger(__name__)
def _run(coro):
return asyncio.run(coro)
def _retry_countdown(retries: int) -> int:
return min(300, 30 * (2 ** max(0, retries)))
@@ -63,7 +60,7 @@ def poll_private_portrait_asset_status(self, asset_id: str) -> None:
detail={"celery_task": "private_portrait.poll_asset_status"},
)
try:
_run(_inner())
run_async(_inner())
except Exception as exc:
raise self.retry(exc=exc, countdown=_retry_countdown(self.request.retries))
@@ -85,7 +82,7 @@ def sync_private_portrait_due_assets(self) -> int:
detail={"celery_task": "private_portrait.sync_due_assets"},
)
try:
return _run(_inner())
return run_async(_inner())
except Exception as exc:
raise self.retry(exc=exc, countdown=_retry_countdown(self.request.retries))
@@ -107,7 +104,7 @@ def delete_private_portrait_asset_remote(self, asset_id: str) -> None:
detail={"celery_task": "private_portrait.delete_asset_remote"},
)
try:
_run(_inner())
run_async(_inner())
except Exception as exc:
raise self.retry(exc=exc, countdown=_retry_countdown(self.request.retries))
@@ -129,7 +126,7 @@ def delete_private_portrait_project_remote(self, project_id: str) -> None:
detail={"celery_task": "private_portrait.delete_project_remote"},
)
try:
_run(_inner())
run_async(_inner())
except Exception as exc:
raise self.retry(exc=exc, countdown=_retry_countdown(self.request.retries))
@@ -151,6 +148,6 @@ def recover_private_portrait_remote_deletes(self) -> dict[str, int]:
detail={"celery_task": "private_portrait.recover_remote_deletes"},
)
try:
return _run(_inner())
return run_async(_inner())
except Exception as exc:
raise self.retry(exc=exc, countdown=_retry_countdown(self.request.retries))
File diff suppressed because one or more lines are too long