"""Celery приложение GPU воркера.""" from celery import Celery from celery.utils.log import get_task_logger from app.config import settings celery_app = Celery( "worker_gpu", broker=settings.RABBITMQ_URL, backend=settings.REDIS_URL, include=["app.tasks.search", "app.tasks.plagiarism"], ) celery_app.conf.update( task_serializer="json", result_serializer="json", accept_content=["json"], timezone="Europe/Moscow", enable_utc=True, task_track_started=True, # Маршрутизация task_routes={ "gpu.*": {"queue": "queue.gpu"}, "index.*": {"queue": "queue.index"}, "notify.*": {"queue": "queue.notify"}, "gost.*": {"queue": "queue.gost"}, }, # Надёжность task_acks_late=True, task_reject_on_worker_lost=True, # GPU воркер — только 1 процесс worker_concurrency=1, # Результаты хранить 24 часа result_expires=86400, ) logger = get_task_logger(__name__)