celery 容灾升级

This commit is contained in:
2026-07-22 14:48:29 +08:00
parent 3f1c4063b0
commit 69e7dec807
67 changed files with 6161 additions and 1958 deletions
+9
View File
@@ -9,6 +9,8 @@ class CeleryQueue(str, Enum):
GEN_VIDEO_UPSCALE_REMOTE = "gen_video_upscale_remote"
GEN_RECOVERY = "gen_recovery"
GEN_PRIVATE_PORTRAIT = "gen_private_portrait"
GEN_SHOT_ANALYSIS = "gen_shot_analysis"
GEN_SHOT_SPLIT = "gen_shot_split"
DEFAULT = "default"
@@ -29,8 +31,15 @@ class CeleryTaskName(str, Enum):
STARTUP_RECOVERY = "recovery.startup_recovery_once"
MODULE_ASYNC_RECOVERY = "module_async.recover_module_async_tasks_once"
SHOT_SPLIT_RECOVERY = "shot_replicate.recover_split_tasks_once"
SHOT_ANALYSIS_RECOVERY = "shot_replicate.recover_analysis_tasks_once"
CELERY_RUNTIME_RECONCILE = "celery_runtime.reconcile_once"
CELERY_RUNTIME_GC = "celery_runtime.registry_gc_once"
SHOT_ANALYZE_ORIGINAL = "shot_replicate.analyze_original_video"
SHOT_ANALYZE_CUSTOM_SEGMENT = "shot_replicate.analyze_custom_segment_video"
SHOT_SPLIT_ONE = "shot_replicate.split_one_segment"
PRIVATE_PORTRAIT_POLL_ASSET = "private_portrait.poll_asset_status"
PRIVATE_PORTRAIT_SYNC_DUE_ASSETS = "private_portrait.sync_due_assets"
PRIVATE_PORTRAIT_DELETE_ASSET = "private_portrait.delete_asset_remote"
PRIVATE_PORTRAIT_DELETE_GROUP = "private_portrait.delete_group_remote"
PRIVATE_PORTRAIT_DELETE_PROJECT = "private_portrait.delete_project_remote"
PRIVATE_PORTRAIT_RECOVER_REMOTE_DELETES = "private_portrait.recover_remote_deletes"
+56
View File
@@ -0,0 +1,56 @@
from __future__ import annotations
from enum import StrEnum
class CeleryRuntimeDomain(StrEnum):
GENERATION_CREATE = "generation_create"
GENERATION_POLL = "generation_poll"
GENERATION_DOWNLOAD = "generation_download"
MODULE_ASYNC = "module_async"
SHOT_ANALYSIS = "shot_analysis"
SHOT_SPLIT = "shot_split"
VIDEO_UPSCALE = "video_upscale"
PRIVATE_PORTRAIT_POLL = "private_portrait_poll"
PRIVATE_PORTRAIT_DELETE = "private_portrait_delete"
class CeleryRuntimeState(StrEnum):
ACTIVE = "active"
WAITING_LOCK_EXPIRE = "waiting_lock_expire"
WAITING_DB_LEASE = "waiting_db_lease"
RECOVERY_CANDIDATE = "recovery_candidate"
class WorkerIdentityQuality(StrEnum):
FULL = "full"
INSTANCE_TOKEN_ONLY = "instance_token_only"
SINGLE_PROCESS = "single_process"
FALLBACK = "fallback"
class CeleryRuntimeEvent(StrEnum):
WORKER_IDENTITY_INITIALIZED = "CELERY_WORKER_IDENTITY_INITIALIZED"
WORKER_IDENTITY_FALLBACK = "CELERY_WORKER_IDENTITY_FALLBACK"
WORKER_REGISTERED = "CELERY_WORKER_REGISTERED"
WORKER_HEARTBEAT_LOST = "CELERY_WORKER_HEARTBEAT_LOST"
WORKER_DUPLICATE_NAME = "CELERY_WORKER_DUPLICATE_NAME"
WORKER_STALE_INSTANCE_FOUND = "CELERY_WORKER_STALE_INSTANCE_FOUND"
WORKER_INSTANCE_RECOVERY_START = "CELERY_WORKER_INSTANCE_RECOVERY_START"
WORKER_INSTANCE_RECOVERY_DONE = "CELERY_WORKER_INSTANCE_RECOVERY_DONE"
WORKER_SHUTDOWN = "CELERY_WORKER_SHUTDOWN"
RUNTIME_ACQUIRE_START = "CELERY_RUNTIME_ACQUIRE_START"
RUNTIME_ACQUIRED = "CELERY_RUNTIME_ACQUIRED"
RUNTIME_LOCK_HELD = "CELERY_RUNTIME_LOCK_HELD"
RUNTIME_REDIS_UNAVAILABLE = "CELERY_RUNTIME_REDIS_UNAVAILABLE"
RUNTIME_HEARTBEAT_LOST = "CELERY_RUNTIME_HEARTBEAT_LOST"
RUNTIME_DB_LEASE_LOST = "CELERY_RUNTIME_DB_LEASE_LOST"
RUNTIME_RESULT_DISCARDED = "CELERY_RUNTIME_RESULT_DISCARDED"
RUNTIME_COMPLETED = "CELERY_RUNTIME_COMPLETED"
RECOVERY_BARRIER_SKIPPED = "CELERY_RECOVERY_BARRIER_SKIPPED"
RECOVERY_LIVE_LOCK_SKIPPED = "CELERY_RECOVERY_LIVE_LOCK_SKIPPED"
RECOVERY_WAIT_DB_LEASE = "CELERY_RECOVERY_WAIT_DB_LEASE"
RECOVERY_CAS_ACQUIRED = "CELERY_RECOVERY_CAS_ACQUIRED"
RECOVERY_REQUEUED = "CELERY_RECOVERY_REQUEUED"
REGISTRY_RECONCILE_DONE = "CELERY_REGISTRY_RECONCILE_DONE"
REGISTRY_GC_DONE = "CELERY_REGISTRY_GC_DONE"
@@ -15,6 +15,7 @@ class GenerationRecordPipelineStage(str, Enum):
QUEUED = "queued"
PREPARING = "preparing"
CREATING_PROVIDER_TASK = "creating_provider_task"
PROVIDER_RESULT_STAGED = "provider_result_staged"
WAITING_REMOTE = "waiting_remote"
POLLING = "polling"
RESULT_READY = "result_ready"
@@ -40,6 +40,7 @@ class ChatGenerationPipelineStage(str, Enum):
QUEUED = "queued"
PREPARING = "preparing"
CREATING_PROVIDER_TASK = "creating_provider_task"
PROVIDER_RESULT_STAGED = "provider_result_staged"
WAITING_REMOTE = "waiting_remote"
POLLING = "polling"
RESULT_READY = "result_ready"