For a deeper look into our DataScope Select REST API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials

question

Upvotes
Accepted
1 1 1 2

Datascope API - Cannot create a extractioncontext and fetch rows

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.

dss-rest-apidatascope-selectdss
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

· Write an Answer
Upvotes
Accepted
78.1k 246 52 72

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:

  • Query all active jobs on the server to find the requested monitor URL. Then use this URL to cancel and continue tracking its status
  • Or, send another extraction request to the server. However, this can create an additional workload on the server

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.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.