Skip to content

Instantly share code, notes, and snippets.

@glennblock
Created March 26, 2014 21:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save glennblock/9794257 to your computer and use it in GitHub Desktop.
Save glennblock/9794257 to your computer and use it in GitHub Desktop.
using (var searchResultsReader = await service.SearchExportAsync("search index=_internal | head 1000"))
{
Console.WriteLine("Begin: Service.SearchExportAsync: Asynchronous use case");
int recordNumber = 0;
int setNumber = 0;
foreach (var resultSet in searchResultsReader)
{
Console.WriteLine(string.Format("Result set {0}", ++setNumber));
var manualResetEvent = new ManualResetEvent(true);
resultSet.SubscribeOn(ThreadPoolScheduler.Instance).Subscribe
(
onNext: (record) =>
{
Console.WriteLine(string.Format("{0:D8}: {1}", ++recordNumber, record));
},
onError: (exception) =>
{
Console.WriteLine(string.Format("SearchResults error: {0}", exception.Message));
manualResetEvent.Set();
},
onCompleted: () =>
{
Console.WriteLine("Service.SearchExportAsync: Asyncrhonous use case");
manualResetEvent.Set();
}
);
manualResetEvent.Reset(); manualResetEvent.WaitOne();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment