Duplicated
Last Updated: 24 Oct 2024 13:18 by ADMIN
Nikhil
Created on: 17 Oct 2024 21:45
Type: Feature Request
1
Managing Scheduled Tasks History

We recently upgraded our report server after years of operation due to various technical challenges. Our system currently manages over 250 reports and more than 100 scheduled tasks, all of which have been running for the past seven years. The backup process has become significantly delayed, as we are handling over 70GB of data, primarily composed of daily generated reports related to executed scheduled tasks. While we regularly review execution history (execution date & time) for debugging purposes, but we never use the reports of executed scheduled task for all historical records. This leads to unnecessary storage usage, which will continue to grow over time.

Manually deleting seven years' worth of historical reports across over 100 tasks is not feasible, and scripting this deletion would impact the performance of our already heavily utilized report server.

I believe the execution history is valuable for everyone for debugging purpose. However, the associated reports which takes significant amount of storage space should be kept optional. Therefore, I propose the following features:

  1. During the configuration of scheduled tasks, include an option (similar to an "Enabled" checkbox) that allows users to choose whether to retain or delete the associated report for each scheduled task execution. This would only apply to reports generated for future task executions.

  2. Introduce a REST API endpoint within the Scheduled Tasks framework that would facilitate the deletion of historical tasks and their associated reports.

These enhancements would greatly improve our report management and storage efficiency as we have over 10+ intensely used report servers for different businesses.

 

These are some feature requests which align with our goals -

Duplicated
This item is a duplicate of an already existing item. You can find the original item here:
2 comments
ADMIN
Dimitar
Posted on: 24 Oct 2024 13:18

Hello Nikhil,

Thank you for the feedback!

I see that you have already gotten familiar with the REST API of the Report Server and which endpoints from the ScheduledTask category can be used for deleting scheduled task executions.

This leaves us with the first requirement, about including an option in the scheduled task configuration determining whether to retain or delete the associated report for each scheduled task execution.

As you have noted, there is indeed already quite a similar item - Scheduled Task Execution Retention Policy. Being able to choose the retention period for a scheduled task should also allow for there to be no such period and thus the new executions should delete the produced documents afterward.

Considering the above, I believe that it is safe to mark this item as a duplicate of Scheduled Task Execution Retention Policy. I will add a comment with your specific requirement in our internal item for the public request, please feel free to also comment publicly on that item with your requirements if you wish.

I noticed that you have cast your vote for the item and you will be notified when development work begins on it.

Once again, thank you for the feedback! Please let me know if you have any further suggestions to share.

Regards,
Dimitar
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Nikhil
Posted on: 22 Oct 2024 03:42

I have reviewed the API documentation and confirmed that REST APIs already exists for this task. I wrote a Python script to delete historical records that exceed the specified retention period. While this script serves as a temporary measure, I would like to request that this functionality be incorporated as a built-in feature in future releases.

In our case, the script executed for several hours due to the volume of years historical data. I tried multi-threading to enhance performance(max_workers=20), although I am uncertain of its overall effectiveness and wanted to avoid overload on our server's performance. During this process, I monitored the scheduled task history and observed that execution history was being deleted at a rate of approx. 10 to 20 executions per second. Additionally, I intend to create a shell script to automate this process on a monthly basis using the task scheduler on our Telerik Report Server VM.

For reference, I'm attaching the API endpoints I used:

  1. Scheduled Tasks API
  2. Scheduled Task Executions API
  3. Delete Scheduled Task Execution API