Currently the Report Server appears to keep the execution history of scheduled report tasks indefinitely. The task execution history is a very useful feature but there appears to be no way to limit the history to a certain amount of time. For our use case it is unlikely that we will need to go further back then 1 or two months in the history and as we get months an even years of history (which includes the execution and related documents) the time needed to backup and restore the Report Server increases. We only have about 30 scheduled reports that run each day but over a year that is 10,000+ executions that are stored and anything over a month or so old has little value to us. I am not sure if these also have an impact on the overall performance of the Report Server or at least the Scheduler portion of the UI but that would be another reason to limit the retention.
Currently the only method to delete the executions is to either (a) do it manually via the UI (screenshot below) or (b) to write an application that deletes executions outside our retention window using the API to query and then delete them. Method (a) is too time consuming for a person to do and (b) will require writing the application but then also monitoring it's status and keeping up with any changes in the API over time.
I would propose adding some method of allowing users to set a "retention period" for scheduled task executions.
Implementing this would allow for much quicker upgrades, backups, and restores of the Report Server.