public DetectStuckServersJob(ILogger <DetectStuckServersJob> logger, NotificationsEnabledDb database,
                              IEC2Controller ec2Controller)
 {
     this.logger        = logger;
     this.database      = database;
     this.ec2Controller = ec2Controller;
 }
 public ProvisionControlledServerJob(ILogger <ProvisionControlledServerJob> logger,
                                     NotificationsEnabledDb database, IEC2Controller ec2Controller, IBackgroundJobClient jobClient,
                                     IControlledServerSSHAccess sshAccess) : base(logger, database)
 {
     this.ec2Controller = ec2Controller;
     this.jobClient     = jobClient;
     this.sshAccess     = sshAccess;
 }
 public ControlledServersController(ILogger <ControlledServersController> logger,
                                    NotificationsEnabledDb database, IEC2Controller ec2Controller, IBackgroundJobClient jobClient)
 {
     this.logger        = logger;
     this.database      = database;
     this.ec2Controller = ec2Controller;
     this.jobClient     = jobClient;
 }
 public CancelCIBuildIfStuckJob(ILogger <CancelCIBuildIfStuckJob> logger,
                                NotificationsEnabledDb database, IBackgroundJobClient jobClient, IEC2Controller ec2Controller,
                                IExternalServerSSHAccess externalServerSSHAccess)
 {
     this.logger                  = logger;
     this.database                = database;
     this.jobClient               = jobClient;
     this.ec2Controller           = ec2Controller;
     this.externalServerSSHAccess = externalServerSSHAccess;
 }
        public TerminateLongStoppedServersJob(ILogger <TerminateLongStoppedServersJob> logger,
                                              IConfiguration configuration,
                                              ApplicationDbContext database, IEC2Controller ec2Controller)
        {
            this.logger        = logger;
            this.database      = database;
            this.ec2Controller = ec2Controller;

            terminateStoppedServerDelay =
                TimeSpan.FromHours(Convert.ToInt32(configuration["CI:TerminateStoppedServersDelayHours"]));
        }
Example #6
0
        public RemoteServerHandler(ILogger <RemoteServerHandler> logger, IConfiguration configuration,
                                   NotificationsEnabledDb database, IEC2Controller ec2Controller, IBackgroundJobClient jobClient)
        {
            this.logger           = logger;
            this.database         = database;
            this.ec2Controller    = ec2Controller;
            this.jobClient        = jobClient;
            shutdownIdleDelay     = Convert.ToInt32(configuration["CI:ServerIdleTimeBeforeStop"]);
            maximumRunningServers = Convert.ToInt32(configuration["CI:MaximumConcurrentServers"]);
            useHibernate          = Convert.ToBoolean(configuration["CI:UseHibernate"]);

            servers =
                new Lazy <Task <List <ControlledServer> > >(() =>
                                                            database.ControlledServers.OrderBy(s => s.Id).ToListAsync());
            externalServers =
                new Lazy <Task <List <ExternalServer> > >(() =>
                                                          database.ExternalServers.OrderByDescending(s => s.Priority).ThenBy(s => s.Id).ToListAsync());
        }