I have a web application served by cherrypy (, which is multi-threaded. ) I'm trying to cache a set of rows queried from database using `self.search_result_cache` variable on the GUI_Server object. On my front-end, the web first request `list_entries` to prepare the rows and stores them on `self.search_result_cache`. After that, on user's mouse click the front-end initiats another request calling `Record_entries_count`, which is expected to revive the Query from `self.search_result_cache` and continue on to do some data refining, e.g. summing up the count in this case.
class GUI_Server: def __init__(self): self.search_result_cache = None @cherrypy.expose def list_entries(self, **criteriaDICT): # always store the result to self cache ... db = cherrypy.request.db_session filter_func = getattr(self, 'filterCriteria_' + classmodel_obj. __name__) queryOBJ = filter_func(criteriaDICT, queryOBJ) self.search_result_cache = queryOBJ db.expunge_all() .... def Record_entries_count(self): db = cherrypy.request.db_session query_subset = self.search_result_cache result = query_subset.count() return result But this doesn't work. It always give me an error: sqlite3.ProgrammingError: SQLite objects created in a thread can only be used in that same thread.The object was created in thread id 139937752020736 and this is thread id 139938238535424 I am already using `scoped_session` for each request session. I don't understand why I got this error. What is the best pratice to cache queried result across different request sessions like this? Thanks a lot. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.