def test_Decorator_expire(self):
client = pymongo.MongoClient(host=settings.MONGO_HOST, port=settings.MONGO_PORT)
pool = MongoItemPool(client, DB="pycache", COLLECTION="pytest")
# decorate myAdder function in common way
@cached(CacheItemPool=pool, expire_after=0.5)
def myAdder_expire(a, b):
import time
print 'Add %d + %d need 3 seconds!' % (a, b)
time.sleep(3)
return a + b
assert myAdder_expire(5, 6) == 11 # wait for 3 seconds
time.sleep(1)
cur = time.time()
assert myAdder_expire(5, 6) == 11 # need wait another 3 seconds
assert time.time()-cur > 1
评论列表
文章目录