It's not trivial, but it's not hard, either. Here's one approach (of many):
1. Create a deploy script to wrap the appcfg.py update
2. Pre deploy, your script create a Python file that declares a variable
with the current time
3. In your javascript and CSS include statements in your HTML, modify the
URL like this:
/js/some.js?v={{ GLOBAL_TIMESTAMP }}
(ContextProcessors are key here if you are using Django templates)
Just changing the URL with a meaningless parameter on a static asset should
be enough to ensure that browsers and proxies force download a new version
of your asset file.
On Mon, Sep 13, 2010 at 12:53 AM, Tonny <[email protected]> wrote:
>
>
> On Sep 9, 8:29 pm, "Ikai L (Google)" <[email protected]> wrote:
> > Are you using a YAML file configuration for static assets? There's a
> place
> > to set expires times. At any rate, next time this happens, take note of
> the
> > headers returned and post them.
> I have this for the files in affected:
> - url: /s/x.y
> static_dir: static/my.library
>
> where my.library contains javascript files.
>
> I'll post the header the next time i see the issue.
>
> >
> > As a best practice, in your URLs to your static assets, you should have
> > cache busters since this'll also cover the case of folks with weird local
> > browser cache settings.
> Yeah, I know. So far I have gotten away with including the files
> directly.
> Since I'm writting "raw" Mootools based javascript with nothing but a
> home brewed build system,
> cache busting i not a trivial task - if someone reading this post can
> bust this perception i would like
> to hear :-).
> >
> >
> >
> >
> >
> > On Thu, Sep 9, 2010 at 12:49 AM, Tonny <[email protected]> wrote:
> > > This could what was happening, since the new files was available after
> > > 5-10 minuttes (as mentioned i used curl to look). I have no customized
> > > expire times though.
> >
> > > On Sep 8, 10:26 pm, Peter Petrov <[email protected]> wrote:
> > > > This generally happens when you set a custom expiration time for
> > > > static files. This causes Google's frontend servers to cache the
> files
> > > > for up to the specified time, and they don't update it even if you
> > > > push a new version in the mean time. This is true both for
> > > > *.appspot.com and for custom domains. You can take a look at the
> HTTP
> > > > headers returned by your Google Frontend server, e.g. using Firebug,
> > > > to see when the next refresh will happen.
> >
> > > > If you don't set custom expiration for static files, the frontend
> > > > servers seem to fetch the resources every time (or at least very
> > > > frequently). On the other hand, the browsers' caching behaviour is
> > > > then undefined. In any case, you should use cache-busters.
> >
> > > > On Sep 8, 4:26 pm, Tonny <[email protected]> wrote:
> >
> > > > > I did and uploading 10 minuttes, but my static resources has not
> > > > > changed when i load them through the webserver?
> >
> > > > > Does anybody have similar problems currently?
> >
> > > > > Regards
> > > > > Tonny
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Google App Engine" group.
> > > To post to this group, send email to [email protected]
> .
> > > To unsubscribe from this group, send email to
> > > [email protected]<google-appengine%[email protected]><google-appengine%2Bunsubscrib
> [email protected]>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-appengine?hl=en.
> >
> > --
> > Ikai Lan
> > Developer Programs Engineer, Google App Engine
> > Blog:http://googleappengine.blogspot.com
> > Twitter:http://twitter.com/app_engine
> > Reddit:http://www.reddit.com/r/appengine
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-appengine%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.