2012-08-14 15 views
5

Sto riscontrando un problema noto di AppEngine in cui il contenuto statico errato viene memorizzato nella cache se si accede a un URL specifico per la mia app, ma il contenuto statico corretto viene visualizzato se appendo un parametro? Foo per eseguire il busting della cache e VERSION. anche myapp.appspot.com funziona.Un modo per forzare il ripristino di tutti i file statici memorizzati nella cache su AppEngine?

C'è un modo per visualizzare il contenuto corretto nell'URL non modificato?

Sarei felice di eliminare l'app e ripristinarla o qualcosa di drastico. L'app non è live, ma ho bisogno che sia tra un paio d'ore. Tutto ciò che serve per far funzionare questi URL, in modo che l'app mobile che comunica con l'app AppEngine ottenga i dati corretti.

EDIT

Leggendo le intestazioni, vedo:

HTTP/1.1 200 OK 
ETag: "ZN9VxQ" 
Date: Tue, 14 Aug 2012 02:00:58 GMT 
Expires: Wed, 15 Aug 2012 02:00:58 GMT 
Content-Type: text/html 
Server: Google Frontend 
Cache-Control: public, max-age=86400 
Age: 34623 
Transfer-Encoding: chunked 

sono io hosed per altri 50.000 secondi? Ad ogni modo per accorciarlo?

EDIT PER COMMENTI:

In app.yaml, ho questo gestore:

- url: /static 
    static_dir: static 
    expiration: 1s 

Ora ho provato a rimuovere la scadenza:

- url: /static 
    static_dir: static 

E ho aggiunto questo all'inizio di app.yaml, in base ai documenti:

default_expiration: "1m" 

Inoltre, l'eliminazione dei file non li fa scomparire durante la distribuzione.

+0

stai utilizzando un dominio personalizzato. Se è così, dovrai utilizzare le tecniche di busting della cache quando la cache edge di google avrà dato il calcio d'inizio. –

+0

Se è così, quanto dura la cache? E non sono sicuro ... stavo usando myapp.appspot.com, ma dopo che questo problema era in corso, il mio collega ha registrato un dominio per reindirizzare all'URL ... sarebbe questo? –

+0

È possibile avere qualche tipo di gestore in app.yaml per reindirizzare gli url di base agli url statici non memorizzati nella cache? Posso eseguire il busting della cache senza poter modificare gli URL a cui l'app mobile sta accedendo? –

risposta

4

Dipende dal controllo della cache utilizzato. Controlla l'ispettore firebug och chrome e vedi quali date di scadenza sono impostate.

Se avete impostato la cache-control per pubblico non si può influenzare il controllo in quanto i file sono di cache su vari proxy e server di lungo la strada.

Se si utilizza cache-control privato si dovrebbe essere in grado di ripristinare voi cache del browser ed andare bene, ma come si dice a volte si ottiene il file sbagliato da ambiente di produzione di Google. Ho avuto lo stesso problema. La soluzione più veloce è aggiungere un parametro query ai file caricati.

Problemi correlati