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 view this discussion on the web visit https://groups.google.com/d/msg/pylons-discuss/-/HHx8mBYBJm8J. 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.
