If you like beaker, you might also want to take a look at retools
( http://pypi.python.org/pypi/retools/0.2 ), a newer caching library
specifically for Redis from the same author.

Jerry

On Jun 6, 3:36 am, Learner <[email protected]> wrote:
> Thanks Jason. I will take your suggestion.
> But your hint about beaker caching is helpful.
>
> cheers
> -Bkumar
>
> On Jun 5, 4:22 pm, Jason <[email protected]> wrote:
>
>
>
>
>
>
>
> > On Tuesday, June 5, 2012 7:49:10 AM UTC-4, Learner wrote:
>
> > > Hello Pyramid gurus,
>
> > > I have been searching for quick tutorials on caching, background jobs
> > > & ORM related topics. I found quite a few resources which seem to be
> > > very informative. Since I am new to both Python & Pyramid, I thought I
> > > will seek experienced people opinion, before I go ahead and use
> > > anything I found on web. Any help is very much appreciated.
>
> > > 1. Caching:
> > >     The simple use case is:- I want to show top 10 or 20 articles on
> > > my wiki application. Before I render the data I would like to cache
> > > the db result upon first query execution and cache it. Cache to
> > > refresh automatically after every 1 hour or so.
> > > As far as caching is concerned you will be better off caching the result
>
> > of your view. Beaker cache has decorators for caching individual
> > functions/methods for a specified period of time (look for cache_region
> > decorator) this way not only will the database results be cached, but also
> > the processing required to turn them into the template values. I don't know
> > if there is a way to also cache the rendered template with Pyramid.
>
> > > 2. Background Jobs: I am using SQLAlchemy in my application. All the data
> > > needed for the application comes from XML/CSV files. Is there any way in
> > > Pyramid I can create a background job and schedule it to run every 30
> > > minutes or so?. Job will look at one particular folder everytime it is 
> > > run,
> > > and if there are any xml/csv files job will pick it up and process them.
> > > Since this is simple ETL job, SQLAlchemy is not aware of the DB changes. 
> > > So
> > > does this confuse any of the ORM caching mechanism and show the dirty 
> > > data?
> > > If so, how would I be able to notify ORM to rebuild its caching? Thanks 
> > > for
> > > your time.
>
> > Are the XML files parsed and then the data is inserted into a database that
> > Pyramid uses? Perhaps a cron job would be better suited to that?  If you
> > are using caching then the data will not be refreshed in Pyramid until the
> > cache refreshes. If you are using beaker you can force the cache to refresh
> > on the next hit.
>
> > Are you sure you need all this caching though? It seems unnecessarily
> > complicated. Pyramid is very fast, SQLAlchemy is very fast, your database
> > will probably be caching the query plans as well so it's going to be very
> > fast. I would recommend building your application with no caching, and then
> > adding it later if it is needed. That way you can worry about getting the
> > loaded data displaying correctly (especially since you're data setup is a
> > little more complex) before having to figure out a caching system.
>
> > -- Jason

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" 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/pylons-discuss?hl=en.

Reply via email to