2013-09-26 2 views
0

У меня есть приложение .net, которое выполняет различные операции с файлами. Он был запланирован через диспетчер задач и запускается без проблем. Мы перемещаем задание на управление с помощью autosys и настраиваем работу. Когда он запускается, я вижу, что все файлы двигаются так, как ожидалось, и я получаю файл журнала, указывающий, что все работает так, как ожидалось. Приложение работает. Однако 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 запускает приложение, а также приложение работает нормально, и он делает то, что он должен делать. Но процесс не закончится, если до того, как кто-то вручную закроет оконное приложение, или если у вас есть какой-то techinque, чтобы закрыть себя. И поэтому Autosys предполагает, что процесс не закончился, что означало, что работа была неудачной.

Решение для этого делает ваше приложение консольным приложением, иначе я помню, что при настройке задания Autosys есть одно свойство, чтобы не рассматривать окончание процесса, поэтому задание будет только запускать программу и пометить задание как выполненное.