示例#1
0
        public JobTests(ITestOutputHelper outputHelper) : base(outputHelper)
        {
            StandardKernel kernel = new Ninject.StandardKernel();

            kernel.Bind<ICommand>().To<FakeSimpleCommand>().Named("FakeCmd");
            kernel.Bind<ILogProvider>().To<FakeLogProvider>().InSingletonScope()
                .WithConstructorArgument("testOutputHelper", outputHelper);
            kernel.Bind<ICommand>().To<FakeSimpleCommand>();

            XDocument jobConfig = System.Xml.Linq.XDocument.Parse(
                "<job><step name=\"Acommand\" type=\"FakeCmd\"/></job>");

            testJob = new Job("TestJob", jobConfig, kernel, this.FakeLogger);
        }
示例#2
0
文件: Job.cs 项目: dugooder/a-job
        public static int Run(string jobName)
        {
            var result = 0;

            using (var kernel =
                new StandardKernel())
            {
                kernel.Load(NinjectDllsToLoadMask);

                Debug.Assert(kernel.GetModules().Any());

                var log = kernel.Get<ILogProvider>();

                try
                {
                    var jobConfig =
                        XDocument.Load(jobName + JobConfigurationFileExtension);

                    var aJob = new Job(jobName, jobConfig, kernel, log);

                    aJob.Execute();

                    result = aJob.Result;

                    if (!aJob.Successful)
                    {
                        log.WithLogLevel(LogLevel.Error)
                            .WriteMessage("{0} failed.", aJob.Name);
                    }
                }
                catch (Exception ex)
                {
                    log.WithLogLevel(LogLevel.Error)
                        .WriteGeneralException(ex);

                    result = -1;
                }
            }

            return result;
        }