真人素材库遗漏文件追加

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 from __future__ import annotations
import asyncio
import logging import logging
from typing import Any from typing import Any
@@ -20,14 +19,12 @@ from app.services.private_portrait.asset_service import (
recover_remote_deletes_once, recover_remote_deletes_once,
sync_asset_status, sync_asset_status,
) )
from app.tasks.async_runner import run_async
from app.tasks.celery_app import celery_app from app.tasks.celery_app import celery_app
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def _run(coro):
return asyncio.run(coro)
def _retry_countdown(retries: int) -> int: def _retry_countdown(retries: int) -> int:
return min(300, 30 * (2 ** max(0, retries))) 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"}, detail={"celery_task": "private_portrait.poll_asset_status"},
) )
try: try:
_run(_inner()) run_async(_inner())
except Exception as exc: except Exception as exc:
raise self.retry(exc=exc, countdown=_retry_countdown(self.request.retries)) 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"}, detail={"celery_task": "private_portrait.sync_due_assets"},
) )
try: try:
return _run(_inner()) return run_async(_inner())
except Exception as exc: except Exception as exc:
raise self.retry(exc=exc, countdown=_retry_countdown(self.request.retries)) 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"}, detail={"celery_task": "private_portrait.delete_asset_remote"},
) )
try: try:
_run(_inner()) run_async(_inner())
except Exception as exc: except Exception as exc:
raise self.retry(exc=exc, countdown=_retry_countdown(self.request.retries)) 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"}, detail={"celery_task": "private_portrait.delete_project_remote"},
) )
try: try:
_run(_inner()) run_async(_inner())
except Exception as exc: except Exception as exc:
raise self.retry(exc=exc, countdown=_retry_countdown(self.request.retries)) 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"}, detail={"celery_task": "private_portrait.recover_remote_deletes"},
) )
try: try:
return _run(_inner()) return run_async(_inner())
except Exception as exc: except Exception as exc:
raise self.retry(exc=exc, countdown=_retry_countdown(self.request.retries)) raise self.retry(exc=exc, countdown=_retry_countdown(self.request.retries))
File diff suppressed because one or more lines are too long