Autosys失败

时间:2013-09-26 19:48:32

标签: c# .net autosys

我有一个.net应用程序,可以执行各种文件操作。它已经通过任务管理器安排并且运行没有问题。我们正在将工作转移到由autosys控制并配置工作。当它开始时我看到所有文件按预期移动,我得到一个日志文件,表明一切都按预期运行。该应用程序正在运行然而,Autosysy报告它失败了。

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仍然报告失败。我做错了什么?

1 个答案:

答案 0 :(得分:0)

Autosys会在流程结束时将作业标记为已成功完成。在你的情况下,你已经告诉它它是一个Win-Form应用程序。所以这里可能发生的是autosys正在启动应用程序,并且应用程序工作正常,它正在做它想做的事情。但是,除非有人手动关闭窗口应用程序或者你有一些技术要关闭,否则这个过程不会结束。因此,Autosys假设流程未结束,从而将工作标记为失败。

解决方法是将您的应用程序作为控制台应用程序,否则我记得在设置Autosys作业时有一个属性不考虑进程结束,因此作业将启动程序并将作业标记为已完成。 / p>