- Добавлена конфигурация Celery (eusrr_backend/celery.py) - Созданы async задачи для уведомлений (notifications/tasks.py) - Обновлены все notification_signals на create_notification_async() - Добавлен метод NotificationService.create_notification_async() с fallback - Установлены пакеты: django-celery-beat, django-celery-results, flower - Применены миграции для Celery приложений - Документация: CELERY_SETUP.md, CELERY_INTEGRATION_PLAN.md Производительность: уменьшение времени отправки сообщений с ~500ms до <50ms
25 lines
908 B
Python
25 lines
908 B
Python
"""
|
||
Конфигурация Celery для проекта EUSRR
|
||
"""
|
||
import os
|
||
from celery import Celery
|
||
|
||
# Устанавливаем настройки Django по умолчанию
|
||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'eusrr_backend.settings')
|
||
|
||
app = Celery('eusrr_backend')
|
||
|
||
# Загружаем конфигурацию из Django settings
|
||
# namespace='CELERY' означает что все настройки Celery в settings.py
|
||
# должны начинаться с префикса CELERY_
|
||
app.config_from_object('django.conf:settings', namespace='CELERY')
|
||
|
||
# Автоматически находит tasks.py в каждом приложении
|
||
app.autodiscover_tasks()
|
||
|
||
|
||
@app.task(bind=True, ignore_result=True)
|
||
def debug_task(self):
|
||
"""Тестовая задача для проверки работоспособности Celery"""
|
||
print(f'Request: {self.request!r}')
|