/ 24.Feb.2008 at 02:35pm
Como vocês devem ter visto neste post que publiquei algum tempo atrás, meu blog está rodando sobre o novíssimo Mephisto 0.8 e Rails 2.0.2, com ambos os trunks (do Mephisto e o meu) sincronizados com facilidade graças ao poder do GIT :-)
Porém, um problema vem me atormentando desde que migrei do Typo para Mephisto há vários meses atrás: o sistema de caching do Mephisto não estava funcionando para mim. Na época eu não fui atrás do erro e simplesmente desliguei o cache. Mas desde o fim do ano passado os acessos do meu site aumentar exponencialmente e agora a falta de cache começou a me dar rasteiras – com meu blog saindo do ar mais vezes do que deveria.
Quando mudei para um plano de VPS foi quando me lembrei que o cache estava desligado esse tempo todo! Depois que sincronizei meu blog com o trunk do Mephisto comecei a fazer um pente fino (git diff) entre os dois branches e depois de muito procurar finalmente achei a droga do erro! Ei-lo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
ActionController::Routing::Routes.draw do |map| Mephisto::Routing.connect_with map do # Fix for some of Typo old paths map.typo_atom_new 'articles.atom', :controller => 'feed', :sections => "", :action => 'feed' map.typo_rss_new 'articles.rss', :controller => 'feed', :sections => "", :action => 'feed' map.typo_atom_comments 'comments.atom', :controller => 'feed', :sections => ["all_comments.xml"], :action => 'feed' map.typo_atom10_comments 'xml/atom10/comments/feed.xml', :controller => 'feed', :sections => ["all_comments.xml"], :action => 'feed' map.typo_rss_comments 'comments.rss', :controller => 'feed', :sections => ["all_comments.xml"], :action => 'feed' map.typo_atom_feed 'xml/atom/feed.xml', :controller => 'feed', :sections => "", :action => 'feed' map.typo_atom10_feed 'xml/atom10/feed.xml', :controller => 'feed', :sections => "", :action => 'feed' map.typo_rss_feed 'xml/rss/feed.xml', :controller => 'feed', :sections => "", :action => 'feed' map.typo_rss2_feed 'xml/rss20/feed.xml', :controller => 'feed', :sections => "", :action => 'feed' # esta última linha é o erro! map.dispatch 'articles/*path', :controller => 'mephisto', :action => 'dispatch' end end |
Explicando: numa instalação padrão de Mephisto esse tanto de código não existe. Ele termina apenas na chamada ao método connect_with_map. Alguns já devem ter notado para quê isto serve: remapear as antigas URLs de Typo para Mephisto.
Você vão se lembrar que a engine antiga de blog que eu usava era Typo. Quando migrei para Mephisto eu não queria que quem tivesse linkado para meu site de repente passasse a ver erros 404. O engraçado é que eu acho que logo no começo isso funcionava. Não sei o que começou a causar o erro.
O que eu descobri é que tirando o último map.dispatch faz os testes integrados todos passarem! E não adiantou mudar a linha de lugar: colocando antes, depois ou dentro do bloco do connect_with_map parece causar o mesmo erro. E tanto map.connect quanto map.dispatch dá problema com esse pattern de URL.
Ainda não investiguei mais a fundo para entender porque uma linha que tecnicamente não deveria dar problema acaba desligando todo sistema de cache do Mephisto. De qualquer forma, acabei de refazer o deployment sem esse mapeamento e parece que tudo voltou ao normal, com o cache habilitado e sendo corretamente expirado. Vamos ver se continua assim.
5 Comments
Akita, acho que essa sua mudança teve um impacto. O Google Reader está indicando que todos os seus artigos são novos. Acho que isso ferrou seus feeds.
Um abração
tapajós / 24.Feb.2008 at 08:25pm
Outra coisa que eu notei é que o feed de comentários não está sendo atualizado logo após alguém por um comentário. Será que ele está sendo “cacheado” e o sweeper não está limpando ? Ou ele demora para ser atualizado mesmo ?
[]’s
tapajós / 24.Feb.2008 at 10:00pm
@tapajos, então, os comentários demoravam para aparecer no feed 1) porque o FeedBurner não pega instantaneamente 2) mesmo assim, porque o bug que eu falei acima não limpava o cache. Agora deve ficar bem mais rápido. No meu Reader meus feeds continuaram normais. Espero que não seja um problema generalizado.
akitaonrails / 25.Feb.2008 at 02:27am
No meu reader também ta ok.
daniel / 26.Feb.2008 at 11:50am
Acho que deve ter sido alguma maluquice do Google Reader. :-)
[]’s
tapajós / 26.Feb.2008 at 10:08pm
Leave a Comment