5.0 KiB
5.0 KiB
Лог сессии 29 декабря 2025
Основные задачи
1. Оптимизация мониторинга n8n workflow ✅
Проблема: Постоянный мониторинг workflow засорял логи n8n экзекушенами.
Решение:
- Отключён постоянный мониторинг (
auto_restart_n8n_workflow.py) - Реализована проверка workflow "по требованию" — при отправке формы пользователем
- Если n8n не слушает Redis канал → сообщение буферизуется в Redis
- В фоне запускается перезапуск workflow через n8n API
- После перезапуска буферизованные сообщения отправляются повторно
Изменённые файлы:
backend/app/services/n8n_service.py(новый) — работа с n8n APIbackend/app/services/redis_service.py— добавлены методы буферизацииbackend/app/api/claims.py— интеграция проверки/перезапуска workflowbackend/app/config.py— добавлены настройки n8n_url, n8n_api_keybackend/.env— добавлен N8N_API_KEY
2. Синхронизация dev и prod ✅
Проблема: Dev и prod сильно разошлись, в проде появлялись DEV-секции.
Решение:
- Скопированы файлы из работающего prod контейнера
- Удалены все "DEV MODE" секции из frontend компонентов
- Добавлен
terserOptionsв vite.config.ts для удаления console.log в проде - Создан
frontend/Dockerfile.prodдля правильной сборки
Изменённые frontend файлы:
Step1Phone.tsx— убраны DEV кнопкиStep3Payment.tsx— убран DEBUG код SMSStepDescription.tsx— useMockWizard=false в продеStepDocumentUpload.tsx— убраны DEV секцииClaimForm.tsx— убран DebugPanel, исправлена навигацияvite.config.ts— drop_console в production
3. Обработка out_of_scope событий ✅
Проблема: Когда n8n возвращает out_of_scope, фронтенд не обрабатывал это.
Решение:
- Добавлена обработка
event_type: "out_of_scope"вStepWizardPlan.tsx - Показывается карточка с сообщением и suggested_actions
- Кнопка "Связаться с поддержкой" отправляет webhook на n8n
- После отправки — редирект на главную страницу
Webhook: https://n8n.clientright.pro/webhook/3ef6ff67-f3f2-418e-a300-86cb4659dbde
4. Исправление навигации ✅
Проблема: Обе кнопки "← Изменить описание" и "Новое обращение" вели на начальный экран.
Решение:
- "← Изменить описание" →
onPrev()→ шаг описания проблемы - "Новое обращение" →
window.location.reload()→ начальный экран
Изменённый файл: ClaimForm.tsx — исправлен onPrev для StepWizardPlan
5. User-friendly сообщения ✅
Проблема: Технические ошибки показывались пользователям.
Решение:
- Сообщение "План вопросов не получен..." → "Обработка занимает больше времени, чем обычно. Попробуйте ещё раз."
Техническая информация
N8N API
- URL: https://n8n.clientright.pro
- Workflow ID: b4K4u851b4JFivyD
- Header:
X-N8N-API-KEY(не Bearer!)
Redis буферизация
- Ключ буфера:
ticket_form:buffer:description - TTL: 24 часа
- Методы:
buffer_push(),buffer_get_all(),buffer_size()
Docker prod
- Frontend:
ticket_form_frontend_prodна порту 5176 - Backend:
ticket_form_backend_prodна порту 8200 - Dockerfile:
frontend/Dockerfile.prod(multi-stage build)
Git
Все изменения запушены в:
- origin (erv-platform): http://147.45.146.17:3002/negodiy/erv-platform.git
- aiform_prod (новый): http://147.45.146.17:3002/negodiy/aiform_prod.git
Commit: Production fixes: n8n workflow auto-restart, user-friendly messages, fixed navigation buttons
TODO на потом
- Протестировать полный флоу с падением n8n workflow
- Добавить алерты если workflow не поднимается после нескольких попыток
- Логирование буферизованных сообщений для мониторинга