2014-02-19 3 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() 

그때/사이트 맵을 yoursite 요청을 보낼 urllib2가를 사용합니다. 새 페이지를 다시 캐시해야하는 xml

관련 문제