Recentemente atualizei o Discourse da versão 3.4.0.beta1 para a 3.4.0.beta3. Após a atualização, estamos notando que o uso de memória do fórum está aumentando gradualmente, fazendo com que a aplicação caia. Ao verificar o servidor, podemos ver que o redis-server está consumindo 95% da memória.
Estamos executando o redis-cli flushall diariamente para corrigir temporariamente o problema. A instância do Discourse está hospedada em Docker.
Tentei reverter para a versão anterior, mas ela estava gerando alguns erros durante a reconstrução.
Como uma solução temporária, criei um pequeno script bash para limpar a memória do Redis e configurei para ser executado todos os dias às 6h usando um cron job.
Observação: Estou salvando o log em /home/ubuntu/logs. Você pode ignorá-lo se não precisar.
#!/bin/bash
# Define o diretório e o nome do arquivo de log
LOG_DIR="/home/ubuntu/logs"
LOG_FILE="$LOG_DIR/redis.cleanup.$(date +\\%Y-\\%m-\\%d).log"
# Garante que o diretório de log exista
mkdir -p "$LOG_DIR"
# Registra informações sobre o ambiente atual (lado do host)
echo "Executando script em $(date)" >> "$LOG_FILE"
# Executa o lançador do discourse no aplicativo e salva a saída no arquivo de log (lado do host)
echo "comando de limpeza do redis" >> "$LOG_FILE"
docker exec app redis-cli flushall >> "$LOG_FILE" 2>&1
# Indica que o script foi concluído com sucesso (lado do host) e sai
echo "Script concluído com sucesso em $(date)" >> "$LOG_FILE"
exit 0
Atualização: Parece que foi corrigido automaticamente. Agora que me lembro, tivemos um problema semelhante da última vez que atualizamos a versão, e a memória continuou aumentando, mas se corrigiu depois de um tempo. Parece que é um bug.