MDL-29847 question preview: garbage collect old preview data.
authorTim Hunt <T.J.Hunt@open.ac.uk>
Mon, 13 Aug 2012 17:55:09 +0000 (18:55 +0100)
committerTim Hunt <T.J.Hunt@open.ac.uk>
Fri, 17 Aug 2012 09:53:13 +0000 (10:53 +0100)
commit3e6b27698da14b7cf94bc983b54956c62099f92d
tree13cab680eb260322f77bc9b93249b1f8b1e1ca7d
parent7033316dad688f1d35c9e619a922148f335fb4f2
MDL-29847 question preview: garbage collect old preview data.

This adds cron code which looks for question previews that have not been
touched for more than 24 hours, and deletes them.

We try to delete previews immediately. For example if the user clicks
start again, then we immediately delete their previous preview. However,
we can't do that if they just close the preview window. Hence we need
some cron code to clean up old preview that have got left lying around.

Normally, this code will not have much to do, so it will be very fast,
so we can afford to run it every cron.

This has been implemented in such a way that in future it will be easy
to add other cron code to the question bank.

Sadly, to make this work on MySQL, we require a horrible hack in the
already hacky delete_usage_records_for_mysql function.
lib/cronlib.php
question/engine/bank.php
question/engine/datalib.php
question/previewlib.php