2009-10-26 200 views
0

如果您的腳本具有大型進程並且出現錯誤,那麼如何告訴腳本,等待1分鐘,然後從頭開始,最好的方法是什麼?如何自動重新啓動腳本

它是用asp.net,c#編寫的。

protected void doAll() { 

FirstFunction(); 
// If I get in this function an error it should stop wait 1min. and start doAll() again. 

NextFunction(); 

// END 
} 

回答

0

嘗試可能導致內部FirstFunction()錯誤的代碼。 Catch由此產生的錯誤,睡眠一分鐘,並呼籲doAll()。我不知道它是如何在ASP.NET/C#中完成的。

+0

謝謝。我會嘗試。 – 2009-10-26 08:50:13

0

想想你在說什麼。你真的希望用戶等待1,2,3或甚至更多的分鐘讓網頁下載並呈現在他們的屏幕上嗎?

我強烈建議你考慮處理這個例程中的錯誤的其他方式。也許如果你向我們解釋了爲什麼你想等1分鐘,我們可能會提出一個更好的方法。

+0

這是一個必須每晚運行的解析服務。如果我收到服務器或其他類似的錯誤響應,應等待5分鐘,然後重試。 – 2009-10-26 08:50:55

+1

在這種情況下,您應該將其移動到單獨的項目中,例如Windows調度程序運行的Windows服務或命令行應用程序。 ASP.NET Web應用程序用於構建和提供網頁;他們不應該以任意間隔運行代碼,只有當用戶請求頁面時纔會運行代碼。 – 2009-10-26 09:10:18

+0

後來我必須運行這個aspx頁面的Windows調度程序這是正確的(或不possbile?)。但我必須做這個錯誤檢查以及..我認爲調度程序只知道何時啓動腳本。我不能說停止計劃程序,並開始如果一個錯誤。 – 2009-10-26 09:49:45