func (self *LazyCacheController) Regen(msg model.ArticleEntry) {
	self.regenThreadChan <- msg
	self.RegenerateBoard(msg.Newsgroup())
}
func (self *LazyCacheController) invalidateThreadPage(entry model.ArticleEntry) {
	key := util.GetFilenameForThread(self.webroot_dir, entry.MessageID(), false)
	self.c.DeleteCache(key)
	self.invalidateFrontPage()
}
// regenerate just a thread page
func (self *LazyCacheController) regenerateThread(root model.ArticleEntry) {
	key := util.GetFilenameForThread(self.webroot_dir, root.MessageID(), false)
	self.c.Cache(key, self.regen.GenerateThread(root))
}