Inheritance: BaseJobRunner, IDisposable
Esempio n. 1
0
        public ContinuousJobRunnerFacts()
        {
            FileSystemHelpers.Instance = new FileSystem();

            _job = new ContinuousJob
            {
                Name = "testjob",
                JobBinariesRootPath = @"c:\test\data\continuous\testjob"
            };
            _environment = new TestEnvironment
            {
                TempPath = @"c:\temp",
                JobsBinariesPath = @"c:\test\data\continuous\testjob",
                JobsDataPath = Path.GetTempPath(),
                DataPath = @"c:\test\data"
            };

            string jobDirectory = Path.Combine(_environment.JobsDataPath, "continuous", _job.Name);
            _logFilePath = Path.Combine(jobDirectory, "job_log.txt");

            MockDeploymentSettingsManager mockSettingsManager = new MockDeploymentSettingsManager();
            Mock<ITraceFactory> mockTraceFactory = new Mock<ITraceFactory>(MockBehavior.Strict);
            Mock<IAnalytics> mockAnalytics = new Mock<IAnalytics>(MockBehavior.Strict);

            Mock<ITracer> mockTracer = new Mock<ITracer>(MockBehavior.Strict);
            mockTracer.Setup(p => p.Trace(It.IsAny<string>(), It.IsAny<IDictionary<string, string>>()));
            mockTraceFactory.Setup(p => p.GetTracer()).Returns(mockTracer.Object);

            _runner = new ContinuousJobRunner(_job, _environment, mockSettingsManager, mockTraceFactory.Object, mockAnalytics.Object);

            FileSystemHelpers.DeleteFileSafe(_logFilePath);
        }
        private void RefreshJob(ContinuousJob continuousJob, bool logRefresh)
        {
            ContinuousJobRunner continuousJobRunner;

            if (!_continuousJobRunners.TryGetValue(continuousJob.Name, out continuousJobRunner))
            {
                continuousJobRunner = new ContinuousJobRunner(continuousJob, JobsBinariesPath, Environment, Settings, TraceFactory, Analytics);
                _continuousJobRunners.Add(continuousJob.Name, continuousJobRunner);
            }

            JobSettings jobSettings = continuousJob.Settings;

            continuousJobRunner.RefreshJob(continuousJob, jobSettings, logRefresh);
        }
Esempio n. 3
0
        private void RefreshJob(ContinuousJob continuousJob)
        {
            ContinuousJobRunner continuousJobRunner;

            if (!_continuousJobRunners.TryGetValue(continuousJob.Name, out continuousJobRunner))
            {
                continuousJobRunner = new ContinuousJobRunner(continuousJob, Environment, Settings, TraceFactory, Analytics);
                _continuousJobRunners.Add(continuousJob.Name, continuousJobRunner);
            }

            JobSettings jobSettings = GetJobSettings(continuousJob.Name);

            continuousJobRunner.RefreshJob(continuousJob, jobSettings);
        }
Esempio n. 4
0
        private void RefreshJob(ContinuousJob continuousJob, bool logRefresh)
        {
            ContinuousJobRunner continuousJobRunner;

            if (!_continuousJobRunners.TryGetValue(continuousJob.Name, out continuousJobRunner))
            {
                continuousJobRunner = new ContinuousJobRunner(continuousJob, JobsBinariesPath, Environment, Settings, TraceFactory, Analytics);
                _continuousJobRunners.Add(continuousJob.Name, continuousJobRunner);
            }
            else
            {
                // job may change due to network transient.  In such case,
                // we may lose and need to re-acquire the instance status file lock.
                continuousJobRunner.ResetLockedStatusFile();
            }

            JobSettings jobSettings = continuousJob.Settings;

            continuousJobRunner.RefreshJob(continuousJob, jobSettings, logRefresh);
        }