情況:我有一個使用Lucene搜索文檔的ASP .NET應用程序。我想運行初始索引(索引在初始運行後將是遞增的,因此將來不需要重新索引整個目錄)。目前,我有大約5GB的文檔(45000文件)。運行長過程:使用Lucene索引5GB文檔
問題:我的申請在完成過程之前超時。我改變了這樣的TimeOut:
HttpContext.Current.Server.ScriptTimeout = 200000;
但它仍然沒有完成該過程。
我該如何運行索引?
情況:我有一個使用Lucene搜索文檔的ASP .NET應用程序。我想運行初始索引(索引在初始運行後將是遞增的,因此將來不需要重新索引整個目錄)。目前,我有大約5GB的文檔(45000文件)。運行長過程:使用Lucene索引5GB文檔
問題:我的申請在完成過程之前超時。我改變了這樣的TimeOut:
HttpContext.Current.Server.ScriptTimeout = 200000;
但它仍然沒有完成該過程。
我該如何運行索引?
你不應該從ASP.NET運行這些。創建一個爲您完成工作的服務,並通過MSMQ,數據庫中的「work_queue」表或任何您的方案中有意義的表來啓動它。
Web請求旨在快速執行工作並立即返回,而不是執行批處理。
它給出了什麼樣的超時錯誤? – quillbreaker 2010-05-14 13:15:06
我問,因爲通常當我試圖阻止超時時,經常有很多方法超時,你需要阻止他們。然而,本有一個有效的觀點。如果你不必在網頁上做,不要。對於Ben的建議, – quillbreaker 2010-05-14 13:19:05