22.3.07

Pegadinha Rails da semana: stale sessions

O dia hoje começou mal. Minha aplicação Rails fora do ar sem nenhum motivo aparente, e um e-mail do hosting reclamando da cota de disco estourada.
4 horas e muita busca frustrada depois, descobrimos que o /tmp/sessions da aplicação continha 300 MIL arquivos. Um arquivo para cada usuário que acessou o site DESDE O PRIMEIRO DIA. Traduzindo para bom português: descobri da pior maneira possível que o Rails CRIA os arquivos de sessão, mas não apaga.
Problema resolvido, googlei um pouco a respeito e descobri que na verdade este "bug" é uma "feature" documentada. Então fica a sugestão: antes que seu hosting venha dar um esporro em você por sua aplicaçãozinha gulosa, mude a maneira default de gerenciamento de sessões de sua aplicação para usar banco de dados ou sessões em memória. Afinal, no universo BancoDeDados, os hacks são bem mais elegantes.
Como diria o filósofo, "de perto, todas as coisas são feias"...

Nenhum comentário: