def hera(request): form = FlushForm(initial={'flushprefix': settings.SITE_URL}) boxes = [] configured = False # Default to not showing the form. for i in settings.HERA: hera = get_hera(i) r = {'location': urlparse(i['LOCATION'])[1], 'stats': False} if hera: r['stats'] = hera.getGlobalCacheInfo() configured = True boxes.append(r) if not configured: messages.error(request, "Hera is not (or mis-)configured.") form = None if request.method == 'POST' and hera: form = FlushForm(request.POST) if form.is_valid(): expressions = request.POST['flushlist'].splitlines() for url in expressions: num = flush_urls([url], request.POST['flushprefix'], True) msg = ("Flushed %d objects from front end cache for: %s" % (len(num), url)) log.info("[Hera] (user:%s) %s" % (request.user, msg)) messages.success(request, msg) return jingo.render(request, 'zadmin/hera.html', {'form': form, 'boxes': boxes})
def hera(request): form = FlushForm(initial={'flushprefix': settings.SITE_URL}) boxes = [] configured = False # Default to not showing the form. for i in settings.HERA: hera = get_hera(i) r = {'location': urlparse(i['LOCATION'])[1], 'stats': False} if hera: r['stats'] = hera.getGlobalCacheInfo() configured = True boxes.append(r) if not configured: messages.error(request, "Hera is not (or mis-)configured.") form = None if request.method == 'POST' and hera: form = FlushForm(request.POST) if form.is_valid(): expressions = request.POST['flushlist'].splitlines() for url in expressions: num = flush_urls([url], request.POST['flushprefix'], True) msg = ("Flushed %d objects from front end cache for: %s" % (len(num), url)) log.info("[Hera] (user:%s) %s" % (request.user, msg)) messages.success(request, msg) return render(request, 'zadmin/hera.html', {'form': form, 'boxes': boxes})
def hera(request): form = FlushForm(initial={"flushprefix": site_settings.SITE_URL}) boxes = [] configured = False # Default to not showing the form. for i in site_settings.HERA: hera = get_hera(i) r = {"location": urlparse(i["LOCATION"])[1], "stats": False} if hera: r["stats"] = hera.getGlobalCacheInfo() configured = True boxes.append(r) if not configured: messages.error(request, "Hera is not (or mis-)configured.") form = None if request.method == "POST" and hera: form = FlushForm(request.POST) if form.is_valid(): expressions = request.POST["flushlist"].splitlines() for url in expressions: num = flush_urls([url], request.POST["flushprefix"], True) msg = "Flushed %d objects from front end cache for: %s" % (len(num), url) log.info("[Hera] (user:%s) %s" % (request.user, msg)) messages.success(request, msg) return jingo.render(request, "zadmin/hera.html", {"form": form, "boxes": boxes})
def hera(request): form = FlushForm(initial={'flushprefix': site_settings.SITE_URL}) hera = get_hera() if not hera: messages.error(request, "Hera is not (or mis-)configured.") form = None stats = None else: stats = hera.getGlobalCacheInfo() if request.method == 'POST' and hera: form = FlushForm(request.POST) if form.is_valid(): expressions = request.POST['flushlist'].splitlines() for url in expressions: num = flush_urls([url], request.POST['flushprefix'], True) msg = ("Flushed %d objects from front end cache for: %s" % (len(num), url)) log.info("[Hera] (user:%s) %s" % (request.user, msg)) messages.success(request, msg) return jingo.render(request, 'zadmin/hera.html', {'form': form, 'stats': stats})
def flush_front_end_cache_urls(urls, **kw): """Accepts a list of urls which will be sent through Hera to the front end cache. This does no checking for success or failure or whether the URLs were in the cache to begin with.""" if not urls: return log.info(u"Flushing %d URLs from front end cache: (%s)" % (len(urls), urls)) # Zeus is only interested in complete URLs. We can't just pass a # prefix to Hera because some URLs will be on SAMO. for index, url in enumerate(urls): if not url.startswith("http"): if "/api/" in url: urls[index] = u"%s%s" % (settings.SERVICES_URL, url) else: urls[index] = u"%s%s" % (settings.SITE_URL, url) flush_urls(urls)
def flush_front_end_cache_urls(urls, **kw): """Accepts a list of urls which will be sent through Hera to the front end cache. This does no checking for success or failure or whether the URLs were in the cache to begin with.""" if not urls: return log.info(u"Flushing %d URLs from front end cache: (%s)" % (len(urls), urls)) # Zeus is only interested in complete URLs. We can't just pass a # prefix to Hera because some URLs will be on SAMO. for index, url in enumerate(urls): if not url.startswith('http'): if '/api/' in url: urls[index] = u"%s%s" % (settings.SERVICES_URL, url) else: urls[index] = u"%s%s" % (settings.SITE_URL, url) flush_urls(urls)