Пример #1
0
        private void ProcessOutput(EpsOutput output)
        {
            var sw = new Stopwatch();

            sw.Start();
            Log.Debug("Start processing.");
            Exception exception = null;

            try
            {
                IEpsJobConfig config;
                using (var session = SessionFactory.OpenSession())
                {
                    // проверяем
                    CheckOutput(output);

                    // создаем конфигурацию
                    config = EpsJobConfigurator.Configure(output, session, HandleTaskComplete);
                }

                // запускаем
                using (var job = EpsJobFactory.CreateJob(config))
                    job.Execute();
            }
            catch (Exception ex)
            {
                exception = ex;
            }
            finally
            {
                sw.Stop();
                HandleComplete(output.OutputID, exception, sw.Elapsed);
            }
        }
Пример #2
0
        private void ProcessOutput(int outputId)
        {
            var sw = new Stopwatch();

            sw.Start();
            Log.DebugFormat("Output {0}. Start processing.", outputId);
            Exception exception = null;

            try
            {
                IEpsJobConfig config;
                using (var session = SessionFactory.OpenSession())
                {
                    // получаем output
                    var output = session.Get <EpsOutput>(outputId);

                    // проверяем
                    CheckOutput(output);

                    // создаем конфигурацию
                    config = EpsJobConfigurator.Configure(output, session, HandleTaskComplete);
                }

                // запускаем
                using (var job = EpsJobFactory.CreateJob(config))
                    job.Execute();
            }
            catch (Exception ex)
            {
                exception = ex;
                // ничего дальше не пробрасываем - просто меняем статус (в finally)
            }
            finally
            {
                sw.Stop();
                HandleComplete(outputId, exception, sw.Elapsed);
            }
        }