49 lines
1.2 KiB
Python
49 lines
1.2 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.conf.update(
|
|
imports=[
|
|
"app.tasks.document_tasks",
|
|
"app.tasks.maintenance_tasks"
|
|
]
|
|
)
|