2012-02-29 55 views
1

我們有一個前段時間開發的Windows服務,它在遠程服務器上使用大量計劃任務。這看起來可能是一個糟糕的主意,它可能是,但是因爲我們正在與另一家公司合作,只有這樣才能激活他們的系統,所以我們沒有更多的選擇。在很長一段時間內運行SCHTasks會產生奇怪的結果

爲了發生這種情況,我們告訴我們使用SCHTASKS命令,該命令可以輕鬆地在另一個遠程服務器上啓動服務。然後我們將這個調用的輸出存儲到日誌中。通常,我們得到這個:

2012-02-06 09:40:55 : SUCCESS: Attempted to run the scheduled task "W_PALREI". 

這是我們得到的一切正常的消息,當一切都很好。有時我們得到這樣的:

2012-02-20 15:53:29 : INFO: scheduled task "W_PALMO2" is currently running. 
SUCCESS: Attempted to run the scheduled task "W_PALMO2". 

這仍是並不嚴重,因爲我們知道這個任務會佔用一些時間,我們知道它會回到很快面市。有時我們得到這樣的:

2012-02-13 08:50:03 : INFO: Scheduled task "W_PALMO2" has already been disabled. 

這是不好的,但我們知道這意味着有人禁用其他服務器上的任務,所以我們可以採取相應的行動。

這是奇怪的地方。我們注意到一段時間後(大約持續2周),這些任務不會迴應。每次我們檢查它似乎一切運行正常(服務正在運行,我們可以看到我們的數據庫的內容正在工作),但任務仍然不會開始。當我們看到該日誌文件中,我們發現這一點:

2012-02-22 15:50:15 : ERROR: Class does not exist. 

過了一段時間,我們得到了這樣的信息:

2012-02-22 15:21:15 : ERROR: Not enough storage is available to process this command. 

然後後等上出現的其它消息。過了一會兒,我們只是得到這個

2012-02-22 16:32:38 : 

含義任的Process.Start不再得到ouptut,無論是schtasks的沒有長髮送或處理站被稱爲出於某種原因。我看了谷歌,但無法真正找到任何關於SCHTASKS給出這個,所以我懷疑process.start可能是問題

有沒有人得到過這個以及如何糾正?還是流程開始,還有沒有其他方法可以從遠程服務器正確啓動任務,只要您擁有憑據......?

我們可能想檢查服務器上的其他任何問題來診斷問題? 謝謝,

回答

1

或者是它的進程開始和是否有任何其他的方式來正確 從遠程服務器啓動任務,爲您提供有 憑證......?

有多種方式來遠程啓動過程......幾個選項浮現在腦海中:

  • 電源外殼腳本的遠程執行。但是,如果公司讓您從遠程位置自動執行計劃任務,那麼他們會精明和/或願意將其設置爲執行的可能性並不大。
  • 你的Process.Start調用是什麼樣子的?可能有其他一些方法來構建此調用。

有人需要在遠程機器上做更多的診斷。或者只是想出一個計劃,每n天重新啓動機器。

一些地方看看:

  • 事件日誌。看看是否有任何錯誤記錄在那裏。
  • PerfMon。監視內存使用情況以查看內存是否沒有被清理。