我們使用asp.net c#項目中的Solrnet將文檔索引到Solr中。我們正在要求在無法使用Solr的DIH,所以我們用下面的代碼索引的產品在某些批次到Solr:在完成之前停止for-loop之間
decimal cycleCount = ProductCount/batchSize;
for (int i = 0; i <= Math.Round(cycleCount); i++)
{
var Products = Products(batchSize, languageId, storeId).ToList();
solrCustomWorker.Add(solrProducts);
solrCustomWorker.Commit();
}
有了巨大的文件的大小,它需要大量的時間(大多數的時候,它需要幾小時)來完成整個過程,有時我們需要通過人工干預來中止這個過程。
但是,我不知道如何在完成之前停止這個索引批處理循環。具有大批量文檔的單個循環需要幾秒鐘才能完成,然後提交。但考慮到巨大的不。的文件,而執行完整的索引需要幾個小時,我們無法停止這個過程。
任何想法 - 我怎樣才能停止這個過程之間..我無法弄清楚這裏應該做什麼?
請建議。
您可以在這裏
嘗試讀取http://www.davepaquette.com/archive/2015/07/19/cancelling-long-running-queries-in-asp-net- mvc-and-web-api.aspx 我希望這會有所幫助 – gabba
跟蹤一個布爾「運行」。將運行設置爲false,然後在每個循環中檢查它:if(!running)break; – dannymc18