2014-02-19 2 views
1

У меня проблема с sitemaps.xml так долго, чтобы запустить тайм-аут поисковых систем. У меня нет memcached, поэтому я быстро добавил FileBasedCache, который с радостью решает непосредственную проблему, за исключением первого запроса на срок службы кеша.Как обновить страницу из команды управления?

Карта сайта изменяется один раз в неделю, и это событие вызывается cron-заданием, которое вызывает команду управления, которая загружает новые данные. Поэтому непосредственная идея заключается в том, чтобы продлить срок службы кеша до недели и принудительно сбросить и перезагрузить кеш всякий раз, когда запускается команда cronjob/management.

Но как это можно сделать?

ответ

1

Как вам не кажется, что кэширование в другом месте на сайте в настоящее время следующий должен очистить весь кэш:

import urllib2 
from django.core.urlresolvers import reverse 
from django.conf import settings 
from django.core.cache import cache 

sys.stdout.write('Rebuilding sitemap\n') 
cache.clear() 
sitemap = urllib2.urlopen('http://'+settings.HOST_DOMAIN+reverse('sitemap')) 
sitemap.read() 

Я бы затем использовать urllib2, чтобы послать запрос YourSite/сайтмепов. xml, который должен обновить новую страницу.

Смежные вопросы