- Добавлены Celery задачи для календаря, ленты и заявок
- Обновлены сигналы для запуска задач через transaction.on_commit
- Signal handlers теперь сразу возвращают управление
- Вся обработка (циклы, отправка) происходит в фоне
Аналогично сообщениям в чатах:
- process_event_notifications_task (календарь)
- process_post_notifications_task (лента)
- process_request_notifications_task (заявки)
Fixes: Блокировка транзакций при массовой отправке уведомлений
- Добавлена конфигурация 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
- Исправлены некорректные URL в feed/notification_signals.py (/feed/post/{id}/ → /post/{id}/)
- Исправлены URL в documents/notification_signals.py (удален несуществующий /documents/{id}/)
- Добавлены 3 недостающих endpoint для Telegram интеграции в notifications/api_urls.py
- Создан отчет об аудите URL уведомлений (NOTIFICATION_URLS_AUDIT.md)
- Создан полный список всех эндпоинтов проекта (ENDPOINTS_LIST.md)
- ApiClient теперь обрабатывает 401 и 403 ошибки для обновления токена
- Добавлен JWTRefreshMiddleware для проактивного обновления токенов за 5 минут до истечения
- Добавлена настройка JWT_REFRESH_THRESHOLD_MINUTES (по умолчанию 5)
- Исправлена проблема с периодическими 403 ошибками после истечения access token