2012-04-20 96 views
0

我有一個.Net EXE坐在Windows服務器上,我有一個Autosys作業設置爲啓動應用程序。當我開始工作時,它只是停留在運行狀態,但應用程序從不運行。該應用程序需要大約5分鐘的時間運行。它下載一些圖像,將它們壓縮,然後將文件移動到另一臺服務器。我可以從cmd行成功運行應用程序。我沒有收到任何錯誤消息,工作繼續說它正在運行。我是Autosys的新手,我正在尋找關於如何解決問題的建議。謝謝。Autosys作業停留在運行狀態

正確的框架位於應用程序所針對的服務器上。

回答

1

當autosys作業正在運行時,我會在Windows服務器上檢查作業的日誌文件。打開Autosys命令提示符並運行autosyslog -J以讀取日誌。檢查任何錯誤消息,特別是運行該命令的子進程的PID。然後檢查任務管理器,看看該PID是否正在運行。

此外,當作業正在運行時,請執行autorep -d -J以獲取詳細的運行報告並查看是否有任何錯誤消息?

在Windows上解決這些問題可能會很痛苦。當您從命令行運行它時,我會懷疑它的工作環境,以及它在Autosys中的不同。你是否像在Autosys工作中一樣運行你的命令行作爲SAME所有者ID?如果檢查客戶端日誌沒有幫助,那麼接下來我將運行set命令logging as作爲所有者ID,將輸出保存到文件中,然後創建問題作業的副本,將set命令替換爲命令並將輸出管道輸送到一份文件。然後比較兩個文件的差異。

+0

謝謝。我會試試這個。 – VBCSharp 2012-04-21 02:10:54

0

您可以從Autosys守護程序日誌文件中獲取更多有用的調試信息。它通常位於安裝了Autosys代理的路徑下的tmp文件夾內(例如C:\ Program Files(x86)\ CA \ UnicenterAutoSysJM.DEV \ tmp)。您需要瀏覽位於該文件夾中的所有文件以找到與您正在查找的特定作業相對應的文件。

此文件包含Autosys代理程序用於啓動程序的實際命令以及由Autosys設置的其他環境變量。

0

當作業停留在開始或運行狀態時,這意味着Autosys事件處理器與Windows遠程代理進行通信並傳遞遠程代理運行作業的所有信息。但是,該遠程代理無法與數據庫通信以通知其運行的作業的狀態。

您可能想要檢查Windows遠程代理是否與數據庫有連接。 這可以通過使用命令來確定「autoping -m WindowsMachineName -D」

例如,下面簡單介紹一下這個問題: -

<AutosysCommandPrompt>: autoping -m WindowsMachineName -D 

AutoPinging Machine [WindowsMachineName] AND checking the Remote Agent's DB Access. 
    ERROR: AutoPing WAS NOT SUCCESSFUL! 

    Remote Agent on WindowsMachineName could not connect to DB: xxxxxxxx.WORLD 

現在,在這種情況下,調查tnsnames.ora文件,使確保數據庫名稱在其中。這可能是數據庫連接失敗的原因之一。 一旦完成,您應該得到以下命令的輸出。

<AutosysCommandPrompt>: autoping -m WindowsMachineName -D 

AutoPinging Machine [WindowsMachineName] AND checking the Remote Agent's DB Access. 
    AutoPing WAS SUCCESSFUL! 

希望這會有所幫助。

0

最好的檢查方法是更改​​作業命令以執行「路徑」,從命令行使用用戶的用戶權限來比較用戶權限。