Exemple #1
0
        private static void RegisterServices(IKernel kernel)
        {
            CompositionRoot.BindConnection(kernel, ConnectionString);

            CompositionRoot.BindDataAccess(kernel, ConnectionString, FilesConnectionString);

            CompositionRoot.BindServices(kernel, MainLogger);

            CompositionJobsHelper.BindJobs(kernel, ConnectionString, FilesConnectionString);

            try
            {
                var runners = kernel.GetAll <IRunner>().ToArray();

                RunnerController.Run(runners);
            }
            catch (Exception e)
            {
                MainLogger.Error("Failed to start runners ", e);

                throw;
            }

            MainLogger.Info("Jobs are started");
        }
Exemple #2
0
		public void Test_ExceptionOnStart()
		{
			var helper = new RunnerController();

			var runner = new Mock<IRunner>(MockBehavior.Strict);
			runner.Setup(x => x.Run(It.IsAny<CancellationTokenSource>())).Throws(new Exception("Test_ExceptionOnStart"));

			helper.Run(new[] { runner.Object });

			try
			{
				helper.StopAndWait(TimeSpan.FromMinutes(1));
			}
			catch (AggregateException e)
			{
				e.InnerExceptions.Count.ShouldBeEquivalentTo(1);
				e.InnerException.Message.ShouldBeEquivalentTo("Test_ExceptionOnStart");
				throw;
			}
		}