QualityBotDaemon.Worker.DoJob C# (CSharp) Method

DoJob() public method

public DoJob ( Job job ) : void
job Job
return void
        public void DoJob(Job job)
        {
            Console.WriteLine("Starting Job: {0}", job.Id);
            try
            {
                switch (job.Type)
                {
                    case "compare":
                        DoCompare(job);
                        break;
                }

                Console.WriteLine("Finished Job: {0}", job.Id);
            }
            catch (Exception e)
            {
                job.Status = "E";
                job.ErrorText = JsonConvert.SerializeObject(e);
                Console.WriteLine("Error Job: {0}", job.Id);
            }

            _db.UpdateJob(job);
        }

Usage Example

示例#1
0
        public void DoJobError()
        {
            // Arrange
            var service = Substitute.For<IService>();
            var db = Substitute.For<IJobsDb>();
            var worker = new Worker(service, db);
            service.When(s => s.CompareDynamic(Arg.Any<dynamic>(), Arg.Any<dynamic>(), Arg.Any<bool>()))
                   .Do(x => { throw new Exception("Comparison failed"); });

            // Act
            var job = FakeJobs.PendingCompareJob;
            worker.DoJob(job);

            // Assert
            Assert.AreEqual("E", job.Status);
            Assert.IsTrue(string.IsNullOrWhiteSpace(job.CompletedId));
            Assert.IsTrue(job.ErrorText.Contains("Comparison failed"));
            db.Received(1).UpdateJob(Arg.Any<Job>());
        }
All Usage Examples Of QualityBotDaemon.Worker::DoJob