2013-09-26 202 views
0

我有一個可執行各種文件操作的.net應用程序。它已經通過任務管理器安排並且運行沒有問題。我們正在將作業移動到由自動控制系統進行控制並配置作業。當它啓動時,我看到所有文件都按預期移動,並且我得到一個日誌文件,指示一切按預期運行。該應用程序正在工作。然而,Autosysy報告說它失敗了。Autosys作業失敗

Status/[Event] Time     Ntry ES ProcessTime   Machine 
    -------------- --------------------- -- -- --------------------- ---------------------------------------- 
    RUNNING   09/26/2013 15:30:21 1 PD 09/26/2013 15:31:12 
    FAILURE   09/26/2013 15:31:59 1 PD 09/26/2013 15:32:17 
    [*** ALARM ***] 
    JOBFAILURE 09/26/2013 15:32:16 1 PD 09/26/2013 15:32:17 
    [STARTJOB]  09/26/2013 16:00:00 0 UP     

應用程序是一個winform應用程序 - 在這裏是代碼的肉:

static int Main(string[] args) 
      { 
       Console.WriteLine("Starting processing..."); 
       Console.WriteLine(DateTime.Now.ToString(CultureInfo.InvariantCulture)); 
       if (args.Length > 0) //if we call the app with args we do some stuff, otherwise we show the UI to let the user choose what to do 
       { 
        //stuff happens here that works, other method calls, etc.    
        Console.WriteLine(DateTime.Now.ToString(CultureInfo.InvariantCulture));  
        Console.WriteLine("Process complete."); 
        return 0; 
       } 
       Application.EnableVisualStyles(); 
       Application.SetCompatibleTextRenderingDefault(false); 
       Application.Run(new FileLoader()); 
       return 0; 
      } 

工作是工作,它做它應該做的一切,而不記錄任何異常,但autosys仍然報告失敗。我究竟做錯了什麼?

回答

0

當過程結束時,Autosys會將作業標記爲已成功完成。在你的情況下,你已經告訴它這是一個Win-Form應用程序。所以在這裏可能會發生的是autosys啓動應用程序,而且應用程序工作正常,它正在做它想做的事情。但是這個過程不會結束,除非直到有人手動關閉窗口應用程序,或者如果你有一些技術來關閉它自己。所以Autosys認爲這個過程沒有結束,從而將工作標記爲失敗。

解決方案是使您的應用程序作爲控制檯應用程序,否則我記得有一個屬性設置Autosys作業時不考慮過程結束,因此作業將啓動程序並將作業標記爲已完成。