./devel/py-dogpile-cache, Caching front-end based on the Dogpile lock

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.7.1, Package name: py27-dogpile-cache-0.7.1, Maintainer: pkgsrc-users

Dogpile consists of two subsystems, one building on top of the other.

dogpile provides the concept of a "dogpile lock", a control structure which
allows a single thread of execution to be selected as the "creator" of some
resource, while allowing other threads of execution to refer to the previous
version of this resource as the creation proceeds; if there is no previous
version, then those threads block until the object is available.

dogpile.cache is a caching API which provides a generic interface to caching
backends of any variety, and additionally provides API hooks which integrate
these cache backends with the locking mechanism of dogpile.

Overall, dogpile.cache is intended as a replacement to the Beaker caching
system, the internals of which are written by the same author. All the ideas of
Beaker which "work" are re- implemented in dogpile.cache in a more efficient and
succinct manner, and all the cruft (Beaker's internals were first written in
2005) relegated to the trash heap.


Required to run:
[devel/py-setuptools] [lang/python27] [devel/py-decorator]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: cdd519726d91b9f663f8da0594ee847209c525a0
RMD160: 89ef16eee45fc8d9b61470ed7ce6732e601515a2
Filesize: 318.483 KB

Version history: (Expand)


CVS history: (Expand)


   2018-12-18 12:24:45 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-dogpile-cache: updated to 0.7.1

0.7.1
[bug] [region] Fixed regression in 0.7.0 caused by 136 where the assumed \ 
arguments for the CacheRegion.async_creation_runner expanded to include the new \ 
CacheRegion.get_or_create.creator_args parameter, as it was not tested that the \ 
async runner would be implicitly called with these arguments when the \ 
CacheRegion.cache_on_arguments() decorator was used. The exact signature of \ 
async_creation_runner is now restored to have the same arguments in all cases.

0.7.0

[bug] The decorator module is now used when creating function decorators within \ 
CacheRegion.cache_on_arguments() and CacheRegion.cache_multi_on_arguments() so \ 
that function signatures are preserved. Pull request courtesy ankitpatel96.

Additionally adds a small performance enhancement which is to avoid internally \ 
creating a @wraps() decorator for the creator function on every get operation, \ 
by allowing the arguments to the creator be passed separately to \ 
CacheRegion.get_or_create().

[bug] [py3k] Fixed all Python 3.x deprecation warnings including inspect.getargspec()
   2018-08-18 23:06:24 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dogpile-cache: updated to 0.6.7

0.6.7:
[bug] Fixed issue in the CacheRegion.get_or_create_multi() method which was \ 
erroneously considering the cached value as the timestamp field if the \ 
CacheRegion.invalidate() method had ben used, usually causing a TypeError to \ 
occur, or in less frequent cases an invalid result for whether or not the cached \ 
value was invalid, leading to excessive caching or regeneration. The issue was a \ 
regression caused by an implementation issue in the pluggable invalidation \ 
feature added in 38.

0.6.6:
[feature] Added method CacheRegion.actual_backend which calculates and caches \ 
the actual backend for the region, which may be abstracted by the use of one or \ 
more ProxyBackend subclasses.
[bug] Fixed a condition in the Lock where the “get” function could be called \ 
a second time unnecessarily, when returning an existing, expired value from the \ 
cache.

0.6.5:
[bug] Fixed import issue for Python 3.7 where several variables named \ 
“async” were, leading to syntax errors. Pull request courtesy Brian Sheldon.
   2017-09-17 15:39:11 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dogpile-cache: update to 0.6.4

0.6.4

[bug] The method Region.get_or_create_multi() will not pass to the cache backend \ 
if no values are ultimately to be stored, based on the use of the \ 
Region.get_or_create_multi.should_cache_fn function. This empty dictionary is \ 
unnecessary and can cause API problems for backends like that of Redis. Pull \ 
request courtesy Tobias Sauerwein.

[bug] The api.NO_VALUE constant now has a fixed __repr__() output, so that \ 
scenarios where this constant’s string value ends up being used as a cache key \ 
do not create multiple values. Pull request courtesy Paul Brown.

[bug] A new exception class exception.PluginNotFound is now raised when a \ 
particular cache plugin class cannot be located either as a setuptools \ 
entrypoint or as a registered backend. Previously, a plain Exception was thrown. \ 
Pull request courtesy Jamie Lennox.
   2017-04-14 15:53:25 by Leonardo Taccari | Files touched by this commit (4)
Log message:
Import py-dogpile-cache-0.6.2 as devel/py-dogpile-cache

Dogpile consists of two subsystems, one building on top of the other.

dogpile provides the concept of a "dogpile lock", a control structure which
allows a single thread of execution to be selected as the "creator" of some
resource, while allowing other threads of execution to refer to the previous
version of this resource as the creation proceeds; if there is no previous
version, then those threads block until the object is available.

dogpile.cache is a caching API which provides a generic interface to caching
backends of any variety, and additionally provides API hooks which integrate
these cache backends with the locking mechanism of dogpile.

Overall, dogpile.cache is intended as a replacement to the Beaker caching
system, the internals of which are written by the same author. All the ideas of
Beaker which "work" are re- implemented in dogpile.cache in a more \ 
efficient and
succinct manner, and all the cruft (Beaker's internals were first written in
2005) relegated to the trash heap.