cache.py 684 B

123456789101112131415161718192021222324252627
  1. # Copyright 2019 Cloudbase Solutions Srl
  2. # All Rights Reserved.
  3. from coriolis import exception
  4. from oslo_config import cfg
  5. from oslo_cache import core as cache
  6. opts = [
  7. cfg.BoolOpt('caching', default=False),
  8. cfg.IntOpt('cache_time', default=7200),
  9. ]
  10. CONF = cfg.CONF
  11. CONF.register_opts(opts)
  12. cache.configure(CONF)
  13. cache_region = cache.create_region()
  14. cache.configure_cache_region(CONF, cache_region)
  15. def get_cache_decorator(provider):
  16. if type(provider) is not str or provider == "":
  17. raise exception.CoriolisException(
  18. "Invalid provider name")
  19. MEMOIZE = cache.get_memoization_decorator(
  20. CONF, cache_region, provider)
  21. return MEMOIZE