Example #1
0
        //private static readonly ILog ManagerLogger = LogManager.GetLogger("Stardust.ManagerLog");

        public JobManager(IJobRepository jobRepository,
                          IWorkerNodeRepository workerNodeRepository,
                          ManagerConfiguration managerConfiguration,
                          JobPurgeTimer jobPurgeTimer,
                          NodePurgeTimer nodePurgeTimer,
                          NodeManager nodeManager,
                          ILog logger)
        {
            _jobRepository        = jobRepository;
            _workerNodeRepository = workerNodeRepository;
            _managerConfiguration = managerConfiguration;
            _nodeManager          = nodeManager;
            ManagerLogger         = logger;

            _checkAndAssignJob.Elapsed += AssignJobToWorkerNodes_Elapsed;
            _checkAndAssignJob.Interval = _managerConfiguration.CheckNewJobIntervalSeconds * 1000;
            _checkAndAssignJob.Start();

            _checkHeartbeatsTimer.Elapsed += CheckHeartbeats_Elapsed;
            _checkHeartbeatsTimer.Interval = _managerConfiguration.AllowedNodeDownTimeSeconds * 1000;
            _checkHeartbeatsTimer.Start();

            jobPurgeTimer.Start();
            nodePurgeTimer.Start();
        }
Example #2
0
        public void ShouldDeleteOldJobDetailOnPurge()
        {
            InsertJobRecords(1, 2);             //add a two hours old job
            JobPurgeTimer jobPurgeTimer = new JobPurgeTimer(new RetryPolicyProvider(), new ManagerConfiguration(_managerConnectionString, "Route", 10, 10, 1, 1, 1, 1));

            jobPurgeTimer.Purge();
            NumberOfDetailsInDatabase().Should().Be.EqualTo(1);
            jobPurgeTimer.Dispose();
        }