Completed
Last Updated: 27 Jun 2023 11:28 by ADMIN
Release 2020 R3
Thomas
Created on: 05 May 2017 13:05
Type: Feature Request
26
Ability to cancel the report rendering automatically or manually
To have a better performance would be nice to cancel report rendering automatically or manually. 
If I am asking for a big report and after I change parameters and request new report, the previous request is still in progress and it is not going to be cancelled. Therefore I see high memory consumption on continuously refreshing a reports with a big data and after some time I see complete slow down of the Reporting Service and of course slow down of the server itself. The memory in this case is not released and Reporting Service crashes sometimes.
14 comments
ADMIN
Todor
Posted on: 27 Jun 2023 11:28

Hello Mike,

You may stop the rendering from the viewers through the command 'stopRendering', or with the "Stop rendering" button from the Toolbar. You may also pass CancellationToken to the ReportProcessor.RenderReport method.

Note that in some events of the viewer, you may stop the rendering. For example, the exportBegin(e, args) Event of the HTML5 Report Viewer exposes the argument handled that when set to true would cancel rendering. The printBegin has the same argument you may use for your purposes.

I don't see how you may stop the rendering from a custom ReportSource resolver, as the CancellationToken may be passed to the ReportProcessor methods as a separate argument in special overloads and the developer doesn't have access to this in the ReportSourceResolver. You may log a new feature request for this if you want.

Regards,
Todor
Progress Telerik

Stay tuned by visiting our roadmap and feedback portal pages, enjoy a smooth take-off with our Getting Started resources, or visit the free self-paced technical training at https://learn.telerik.com/.
Mike
Posted on: 20 Jun 2023 18:07
Was this ability ever added to be able to use Cancellation Token with a custom IReportSourceResolver? It has been 3 years since September 2020.
ADMIN
Todor
Posted on: 23 Jun 2020 07:56

Hi Mirzodaler,

The CancelationToken can be used currently with ReportProcessor. We have planned to cover the rest of the requirements about canceling a report rendering in R3 2020, scheduled for the middle of September 2020.

Regards,
Todor
Progress Telerik

Progress is here for your business, like always. Read more about the measures we are taking to ensure business continuity and help fight the COVID-19 pandemic.
Our thoughts here at Progress are with those affected by the outbreak.
Mirzodaler
Posted on: 18 Jun 2020 09:55

Hi,

I want to use the CancelationToken after updating to R2 2020 but not sure how can I do that with a way we process reports.

We have Report API (ReportsController) and a custom report resolver (IReportSourceResolver). Custom report resolver returns ReportSource object. The client side is HTML5ReportViewer.

So, for a processing report, exporting, printing we are not using any custom ReportProcessor classes.

How with this architecture, where we are not using programmatically ReportProcessor class, we can use CancelationToken? Is there any event we can subscriber so that cancelation token can be added before processing, exporting or printing reports?

Thanks,

Rudá Cunha
Posted on: 14 May 2020 11:39

Thank you.

 

This will help a lot in reducing the load of relationship generators.

ADMIN
Ivan Hristov
Posted on: 14 May 2020 07:55

Hello all,

Just wanted to let you know that in R2 2020 we've extended the functionality of the ReportProcessor class - now it accepts a CancellationToken instance, allowing the user to cancel the report rendering or printing. We plan to cover the rest of the requirements about cancelling a report rendering in a subsequent release of our product.

You can check the ReportProcessor additions and more new features in What's New and Release Notes pages. We will highly appreciate it if you give it a try and share your thoughts with us.

All best,

Reporting Team

ADMIN
Neli
Posted on: 30 Mar 2020 13:53

Hi Rudá Cunha,

Thank you for your suggestion.

Regards,
Neli
Progress Telerik

Progress is here for your business, like always. Read more about the measures we are taking to ensure business continuity and help fight the COVID-19 pandemic.
Our thoughts here at Progress are with those affected by the outbreak.
Rudá Cunha
Posted on: 24 Mar 2020 00:22
Also place the possibility to cancel in the ReportProcessor.
Softwarehouse
Posted on: 01 Mar 2020 10:52
We also have this problem, I hope there will be a solution soon.
ADMIN
Neli
Posted on: 01 Oct 2019 13:43

Hello Tursunhuja,

The feature requests in our Feedback portal are prioritized and implemented based on the votes and some other aspects. There are already more than 10 votes, and we will consider the implementation of this feature to be completed for the next major release (R1 2020). Once we start its development, you will receive a notification.

Regards,
Neli
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Tursunkhuja
Posted on: 25 Sep 2019 04:13

@Admin,

I really hoped it would be fixed in R3, but I see that it is not.

Do you expect to fix it in R4?

Glenn
Posted on: 12 Sep 2019 11:31

I just want to make sure that when this ticket is programmed that it also works with web services using cancelation tokens.  See "duplicate" request for more details: https://feedback.telerik.com/reporting/1417332-we-need-to-be-able-to-cancel-a-report

 

Glenn
Posted on: 16 Jul 2019 18:22
I agree.  We need this because our parameters may be a date range on transactions.  By mistake, the user could put in a 10 year period.  This could be millions of records.  After realizing his mistake, he wants to quickly cancel and enter the correct range.  Also, I would like to be able to cancel a report with code on the server. If a user closes a client, he obviously is no longer interested in the report.  There is no point having the report use up resources on the server at that point. I can detect this on my clients and I could cancel the report programmatically on the server. There could be other use cases for canceling the report on the server with code.
Graham
Posted on: 29 Mar 2019 05:18
This is a big problem for my application as well, where large reports can take several minutes to run. It seems kinda crazy that there is no way to cancel a report, you have no choice but to leave your report server vulnerable to abuse and crashing, so it is always fragile.