python - Beaker Cache complains TypeError -
beaker cache complains typeerror. i've searched on google, tracked beaker's issue tracker couldn't find anything.
i cache queries following method
@staticmethod def get_queries(query): @cache.cache(query, type = 'file', expire = 300) def load(query): entries = db.get_expensive_query(query) return entries return load(query)
however when run program, receive;
file "/users/ivan/project/controller/caching.py", line 15, in get_queries return load(query) file "/library/python/2.6/site-packages/beaker-1.5.4-py2.6.egg/beaker/cache.py", line 417, in cached return cache[0].get_value(cache_key, createfunc=go) file "/library/python/2.6/site-packages/beaker-1.5.4-py2.6.egg/beaker/cache.py", line 214, in return self._get_value(key, **kw).get_value() file "/library/python/2.6/site-packages/beaker-1.5.4-py2.6.egg/beaker/container.py", line 256, in get_value if not self._is_expired(stored, expired): file "/library/python/2.6/site-packages/beaker-1.5.4-py2.6.egg/beaker/container.py", line 245, in _is_expired time.time() >= expiretime + storedtime typeerror: cannot concatenate 'str' , 'float' objects
am doing wrong or beaker's bug?
your code calls cache.cache integer expire, correct, either expiretime or storedtime winding string. [from error message has expiretime. --ed] here's think happened:
(1) called cache.cache string expire @ point. [maybe default cache.expire in cachemanager opts, not sure.]
(2) fixed bug, producing code submitted (which works me).
(3) reran code without deleting cache directory, , somehow picked previous state.
i can reproduce error following above prescription. delete cache (everything in cache.data_dir , cache.lock_dir) , try again?
Comments
Post a Comment