"Operation was cancelled"长时间运行的 Azure 索引器引发异常



当Azure Indexer正在为更大的记录(约2M以上(运行时,我们收到"操作已取消"异常。以下是日志详细信息-

"操作已取消。无法从传输连接读取数据:I/O操作已中止,原因是线程退出或应用程序请求。I/O操作已终止,原因是退出线程或应用程序要求">

我们正在线程下运行索引器。它适用于较小的记录,但对于较大的记录(1M+(,它抛出Socket Exception。

有人在为较大的记录运行Azure Indexer(长时间运行(时看到此错误吗?

(我们已经将httpclient超时增加到serviceClient对象的最大值。(

这可能是因为http连接过多。试着让你的**HttpClient**保持静态,看看是否有什么改进。需要**HttpClient**超时到最大值才能使用最大记录执行。

您可能还想考虑减少sql查询时间,以获得最佳索引器性能。如果可能的话,也请分享你的代码。

希望能有所帮助。

尝试将SearchServiceClient.HttpClient.Timeout设置为Timeout.InfiniteTimeSpan。在向Azure认知搜索发送任何请求之前,您必须设置超时。

client.HttpClient.Timeout = Timeout.InfiniteTimeSpan;

最新更新