On Aug 11, 11:07 am, Robert Walker <[email protected]> wrote: > > > So the first query is legit -- but second query is cached, and so > > forth. Every subsequent query ends up being a cached value, forever. > > > How can I make the above method *not* look at a cache? > > Not forever! Subsequent queries are cached until an update changes the > underlying data. Isn't it good to read from the cache if the underlying > database hasn't changed? > > I am assuming that "processed?" reads from a column in your > pending_orders table. If something in your application changes that > value then the query cache should be cleared automatically. However, if > that database change were to happen outside of your Rails application I > could see that your code could end up blocking forever. > It's more than that - the cache is in memory, so the cache won't be cleared if a different rails instances touches the data
Something like PendingOrder.uncached do ... end should do the trick Fred > In any case I would recommend adding some "circuit breaker" code to your > method to prevent blocking forever. Maybe some sort of timeout/watchdog > to limit the amount of time this method could block. > -- > Posted viahttp://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" 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/rubyonrails-talk?hl=en.

