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.
