Janto Dreijer avatar Janto Dreijer committed 899471a

cache rss feed

Comments (0)

Files changed (2)

 class RobotsPage(Page):
 	def get(self):
-		#XXX are new lines ignored?
+		#XXX are first and last new lines ignored?
 User-agent: *
 Disallow: /static/
 class RSSFeedPage(Page):
 	def get(self):
+		cache_key = "generated_rss_feed"
+		result, expired = Cache.get(cache_key)
+		if not expired:
+			return result
 		items = []
 		for package in Package.packages().values():
 			d = package.info()
 			lastBuildDate = datetime.datetime.now(),
 			items = items)
-		self.write(rss.to_xml("utf-8"))
+		result = rss.to_xml("utf-8")
+		self.write(result)
+		assert Cache.set(key=cache_key, value=result, duration=PACKAGE_LISTING_CACHE_DURATION), cache_key
 application = webapp.WSGIApplication([
 	('/', MainPage),


 If it's not called then (see Issue#2)
 <script type="text/javascript">
-jQuery.get("/worker?name={{ name }}");
+// jQuery.get("/worker?name={{ name }}");
+// disabled. cronjob functionality should now compensate
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.