While trying to fetch data using datascope API - post establishing the ExtractionContext and trying to extract rows it failed.
Reuters.extractionsContext.Extract(extractionRequest) - did not return any rows as well ran for almost more than 4 hours and automatically it got cancelled.
Exceptions details below:ExceptionAssembly ThomsonReuters.Dss.RestApi.Client, Version=10.6.714.0, Culture=neutral, PublicKeyToken=c1b530b4d66eacdd ExceptionType System.Threading.Tasks.TaskCanceledException ExceptionGroup System.Threading.Tasks.TaskCanceledException at ThomsonReuters.Dss.Api.Core.HttpOData.Http.HttpClientAdapter+<HandleEventNotifications>d__11.MoveNext ExceptionCount 1 ExceptionMethod ThomsonReuters.Dss.Api.Core.HttpOData.Http.HttpClientAdapter+<HandleEventNotifications>d__11.MoveNext ExceptionHasStack True ExceptionMessage A task was canceled.
Can ome one please let me know what will be right way to handle these exceptions. is there a way to control the timeout for the same.
Reuters.extractionsContext.Extract(extractionRequest) is synchronous. It returns when the extraction is completed. However, if the exception happens during this call, it will not return. However, the extraction may still be processed on the server and the application is unable to cancel or track down the status of the extraction. The things which the application can do are:
To avoid this, I suggest to use a Reuters.extractionsContext.ExtractStart(extractionRequest) method instead. The "Start" method returns an IAsyncJob which in turn can be used to track the progress or cancel the extraction. Therefore, when the problem happens, the application can decide to cancel the job or keep monitoring its status.
For more information, please refer to Key Mechanisms in the Async -> Jobs section.