Files
OCR/docengine/app/workers/celery_app.py
2026-06-01 21:49:53 +05:30

44 lines
1.1 KiB
Python

from __future__ import annotations
from celery import Celery
from app.core.config import settings
celery_app = Celery(
"docengine",
broker=settings.celery_broker_url,
backend=settings.celery_result_backend,
)
celery_app.conf.update(
task_serializer="json",
accept_content=["json"],
result_serializer="json",
timezone="UTC",
enable_utc=True,
task_track_started=True,
task_time_limit=3600,
task_soft_time_limit=3300,
worker_max_tasks_per_child=100,
worker_prefetch_multiplier=1,
task_acks_late=True,
task_reject_on_worker_lost=True,
broker_connection_retry_on_startup=True,
result_expires=86400,
task_routes={
"app.tasks.document_tasks.*": {"queue": "document_processing"},
},
beat_schedule={
"cleanup-expired-tokens": {
"task": "app.tasks.maintenance_tasks.cleanup_expired_tokens",
"schedule": 3600.0,
},
"cleanup-temp-storage": {
"task": "app.tasks.maintenance_tasks.cleanup_temp_storage",
"schedule": 7200.0,
},
},
)
celery_app.autodiscover_tasks(["app.tasks"])