klenin/cats-main — pull request #1 by kravitz (2012-03-17 05:25:07+00:00)
Title: Реализация кеширования отдельных текстов задач

Реюзается все описанное в CATS/StaticPages.pm, но подправлен invalidate_problem_text, чтобы очищать кеш отдельных задач по pid и cpid. В теории, казалось бы, надо было бы ещё сделать по cid, но в местах вызова invalidate_problem_text(cid => $cid) доступен отдельно $cpid, поэтому эти вызовы просто дополнены строчками invalidate_problem_text(cpid => $cpid). invalidate делается во всех случаях, что и для принтабельного списка задач, кроме одного случая -- добавление новой задачи, т.к. гарантируется, что её кеша ещё нет. В интерфейсе поведение сделано таким же как и для списка задач - жюри смотрят некешированную версию, юзеры - кешированную.