fix: Исправление загрузки документов и SQL запросов
- Исправлена потеря документов при обновлении черновика (SQL объединяет вместо перезаписи) - Исправлено определение типа документа (приоритет field_label над field_name) - Исправлены дубликаты в documents_meta и documents_uploaded - Добавлена передача group_index с фронтенда для правильного field_name - Исправлены все документы в таблице clpr_claim_documents с правильными field_name - Обновлены SQL запросы: claimsave и claimsave_final для нового флоу - Добавлена поддержка multi-file upload для одного документа - Исправлены дубликаты в списке загруженных документов на фронтенде Файлы: - SQL: SQL_CLAIMSAVE_FIXED_NEW_FLOW.sql, SQL_CLAIMSAVE_FINAL_FIXED_NEW_FLOW_WITH_UPLOADED.sql - n8n: N8N_CODE_PROCESS_UPLOADED_FILES_FIXED.js (поддержка group_index) - Backend: documents.py (передача group_index в n8n) - Frontend: StepWizardPlan.tsx (передача group_index, исправление дубликатов) - Скрипты: fix_claim_documents_field_names.py, fix_documents_meta_duplicates.py Результат: документы больше не теряются, имеют правильные типы и field_name
This commit is contained in:
48
monitor_n8n_memory.sh
Executable file
48
monitor_n8n_memory.sh
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
# Мониторинг использования памяти n8n
|
||||
# Проверяет использование памяти и отправляет алерт при превышении порога
|
||||
|
||||
N8N_CONTAINER="${N8N_CONTAINER:-n8n}" # Имя контейнера n8n
|
||||
THRESHOLD="${MEMORY_THRESHOLD:-80}" # Порог использования памяти (%)
|
||||
LOG_FILE="/var/www/fastuser/data/www/crm.clientright.ru/ticket_form/logs/n8n_memory_monitor.log"
|
||||
|
||||
# Создать директорию для логов если не существует
|
||||
mkdir -p "$(dirname "$LOG_FILE")"
|
||||
|
||||
log() {
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
|
||||
}
|
||||
|
||||
# Проверка существования контейнера
|
||||
if ! docker ps --format "{{.Names}}" | grep -q "^${N8N_CONTAINER}$"; then
|
||||
log "❌ Контейнер ${N8N_CONTAINER} не найден!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Получение использования памяти
|
||||
MEMORY_INFO=$(docker stats "$N8N_CONTAINER" --no-stream --format "{{.MemUsage}}|{{.MemPerc}}")
|
||||
MEMORY_USAGE=$(echo "$MEMORY_INFO" | cut -d'|' -f1)
|
||||
MEMORY_PERCENT=$(echo "$MEMORY_INFO" | cut -d'|' -f2 | sed 's/%//')
|
||||
|
||||
# Проверка порога
|
||||
if (( $(echo "$MEMORY_PERCENT > $THRESHOLD" | bc -l 2>/dev/null || echo "0") )); then
|
||||
log "⚠️ ВНИМАНИЕ: n8n использует ${MEMORY_PERCENT}% памяти (${MEMORY_USAGE})"
|
||||
log " Порог: ${THRESHOLD}%"
|
||||
|
||||
# Дополнительная информация
|
||||
log "📊 Дополнительная информация:"
|
||||
docker stats "$N8N_CONTAINER" --no-stream --format " CPU: {{.CPUPerc}} | Memory: {{.MemUsage}} | Network: {{.NetIO}}" | tee -a "$LOG_FILE"
|
||||
|
||||
# Проверка OOM Killer
|
||||
OOM_COUNT=$(dmesg | grep -i "out of memory" | grep -i "$N8N_CONTAINER" | wc -l)
|
||||
if [ "$OOM_COUNT" -gt 0 ]; then
|
||||
log "🚨 Обнаружены записи OOM Killer для n8n!"
|
||||
dmesg | grep -i "out of memory" | grep -i "$N8N_CONTAINER" | tail -5 | tee -a "$LOG_FILE"
|
||||
fi
|
||||
|
||||
exit 1
|
||||
else
|
||||
log "✅ Память в норме: ${MEMORY_PERCENT}% (${MEMORY_USAGE})"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user