我有一个.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仍然报告失败。我做错了什么?
发布于 2014-02-04 17:11:28
当进程结束时,Autosys会将作业标记为已成功完成。在您的例子中,您已经知道它是一个Win-Form应用程序。因此,这里可能发生的情况是,自动系统正在启动应用程序,并且应用程序工作正常,它正在做它应该做的事情。但是,这个过程不会结束,除非有人手动关闭窗口应用程序,或者如果你有一些技术可以自行关闭。因此,Autosys假设进程没有结束,因此将作业标记为失败。
这个问题的解决方案是将您的应用程序设置为控制台应用程序,否则我记得在设置Autosys作业时有一个属性不认为进程结束,因此作业将只启动程序并将作业标记为已完成。
https://stackoverflow.com/questions/19037363
复制相似问题