Expand description
Removes files uploaded through the exercise-service upload route that never reached a saved spec.
Nothing else can reclaim them: the host stores specs as opaque blobs, so a stored fileβs only
reference may sit inside content it cannot parse. What makes a file safe here is a declaration
β exercise_task_spec_files for a live spec, page_history_spec_files for every snapshot a
restore could bring back. Because history is kept, this reaper mostly collects uploads a
teacher abandoned before saving, not files dropped from a spec that was once saved.
The binding row is soft-deleted rather than removed, leaving an audit trail of what was reclaimed.
ConstantsΒ§
- MAX_
CONCURRENT_ πREAPS