2011-11-03 2 views
7

stiamo eseguendo un'applicazione Rails 3.0.7 con il Passeggero autonomo + nginx e con Ruby 1.9.2-P290, e stiamo vedendo la cosa più strana succede: Dopo la distribuzione degli aggiornamenti a un modello mailer, nuovi messaggi provenienti dal app a volte si applicano gli aggiornamenti e talvolta viene utilizzato il vecchio modello.I vecchi modelli ActionMailer vengono memorizzati nella cache?

non riesco a trovare niente di modelli ActiomMailer cache on-line, e in esecuzione rake tmp:cache:clear non affrontare la questione sia, FWIW.

Qualcuno ha mai sperimentato una cosa del genere? C'è una soluzione definitiva per questo problema?

grazie,

Jacob

+1

Hai riavviato l'app? Stai usando DelayedJob? – Eric

+0

Il problema si verifica in tutti gli ambienti? –

+1

Ho avuto lo stesso problema ma ho dimenticato di riavviare DelayedJob. Sembrano memorizzare nella cache i modelli di mailer. – Mark

risposta

0

Ho eseguito in situazioni simili nella nostra applicazione, e usiamo Resque.

Se sto cambiando nulla per quanto riguarda programmi di posta (che gestiscono i lavoratori Resque), ho bisogno di riavviare i lavoratori.

uccidere i lavoratori e respawn loro, suona come alcuni di loro potrebbero avere l'ambiente vecchio caricato e gli altri non lo fanno.

0

Avevo questo problema, anche se non stavo usando Resque per inviare posta. Dopo aver fissato i modelli incriminati per un po ', mi sono reso conto che alcuni dei miei CSS incorporati erano formattati in modo errato (impropria famiglia di caratteri e dichiarazioni di riempimento) e che il modello poteva ignorare qualsiasi altra cosa accanto a quelle dichiarazioni. Di conseguenza, sembrava che stia tirando i vecchi modelli piuttosto che il rendering delle nuove regole. Non sono sicuro se questo è documentato ovunque ..

Quindi, in pratica, ero pigro e mi è costato un paio d'ore del giorno.