On Wed, Aug 4, 2010 at 7:09 PM, Wes Gamble <we...@att.net> wrote:

>  On 8/4/10 4:05 PM, Jim Gay wrote:
>
> On Wed, Aug 4, 2010 at 5:03 PM, Wes Gamble <we...@att.net> wrote:
>
>>  On 8/4/10 11:48 AM, Jim Gay wrote:
>>
>>> On Aug 4, 2010, at 12:35 PM, Wes Gamble wrote:
>>>
>>>> (apologies if this is a duplicate - I used the Web forum to post this
>>>> and it doesn't show up in the Google groups list).
>>>>
>>>> Currently developing content in a shared app. on Heroku using Radiant,
>>>> so officially we are in "production" mode even though we're obviously
>>>> developing.
>>>>
>>>> We'd like to be able to see layout/page changes immediately.
>>>>
>>>> I've Googled and seen several approached to turning off page caching in
>>>> Radiant - what is the most correct way to do this for a production
>>>> environment?
>>>>
>>>> Many thanks,
>>>> Wes
>>>>
>>>>
>>   Heroku runs a Varnish cache which sits between the request and the
>>>> application, so even if you clear the cache in Radiant, Varnish is totally
>>>> unaware of this and still serves the cached pages according to the cache
>>>> control headers originally set with it.
>>>> This is a great feature because it keeps the load on Radiant low, but it
>>>> does take some understanding to work around it when you need.
>>>>
>>>> I've not tested this on heroku, but Radiant has a "dev" rendering
>>>> option. By default this is dev.mysite.com and it will send back headers
>>>> that say there is no caching. So you could add another domain through the
>>>> addons and set Radiant::Config['dev.host'] = 'preview.some-site.com'
>>>>
>>>> But check your config/environments/production.rb file. It should have a
>>>> comment like this:
>>>>
>>>> # Cache your content for a longer time, the default is 5.minutes
>>>> # config.after_initialize do
>>>> #   SiteController.cache_timeout = 12.hours
>>>> # end
>>>>
>>>  Should the SiteController.cache_timeout setting affect the cache
>> control header values?
>>
>> I modified my production.rb file to read:
>>
>> config.after_initialize do
>>  SiteController.cache_timeout = 1.second
>> end
>>
>> but it appears that this doesn't reduce the cache timeout to 1 second.
>>
>> To restate:
>>
>> Does the Varnish caching trump the SiteController.cache_timeout value,
>> which implies that I would have to use the dev.host option?
>>
>> Thanks,
>>  Wes
>>
>
>  If the SiteController.cache_timeout change isn't working, it's a bug.
> Varnish accepts the headers that your app sends to it, so if you say it's 1
> second, then Varnish will cache it for 1 second.
>
>  I'll look into this too, but reply back if you dig deeper.
>
> Jim,
>
> It works fine.  I'm a little embarrassed.  My app. is a standard Rails app.
> with Radiant installed in RAILS_ROOT/vendor/radiant (because I'm using
> Heroku, apparently I needed to install the Radiant app this way), and I
> modified the production.rb file under vendor/radiant instead of RAILS_ROOT.
>
> Thanks for the help,
> Wes
>
> Wes
>

Wes, unless you are running on edge, you can run from the radiant gem too. I
have found, however, that Heroku won't recognize it as a rails app unless
you also specify that the rails gem should be loaded too (which will do
nothing to the app because Radiant bundles rails 2.3.8)


-- 
Jim Gay
Saturn Flyer LLC
http://www.saturnflyer.com
571-403-0338

Reply via email to