Exemple #1
0
        public IActionResult Get()
        {
            _logger.LogInfo("Get request received for all jobs");

            try
            {
                var jobsList = _fileUploadJobManager.GetAllJobs().ToList();

                jobsList = jobsList.OrderByDescending(x =>
                {
                    switch (x.Status)
                    {
                    case JobStatusType.Completed:
                        return(10);

                    case JobStatusType.Failed:
                        return(20);

                    case JobStatusType.FailedRetry:
                        return(30);

                    case JobStatusType.Paused:
                        return(40);

                    case JobStatusType.MovedForProcessing:
                    case JobStatusType.Processing:
                        return(50);

                    default:
                        return(60);
                    }
                }).ThenByDescending(x => x.Priority).ThenBy(x => x.JobId).ToList();

                _logger.LogInfo($"Returning jobs list with count: {jobsList.Count}");
                return(Ok(jobsList.ToList()));
            }
            catch (Exception ex)
            {
                _logger.LogError("Get all jobs failed", ex);
                return(BadRequest());
            }
        }
Exemple #2
0
        public async Task GetAllJobs_Success()
        {
            IContainer           container = Registrations();
            List <FileUploadJob> result;

            using (var scope = container.BeginLifetimeScope())
            {
                // Create the schema in the database
                var options = scope.Resolve <DbContextOptions <JobQueueDataContext> >();
                using (var context = new JobQueueDataContext(options))
                {
                    context.Database.EnsureCreated();
                }

                IFileUploadJobManager manager = scope.Resolve <IFileUploadJobManager>();
                await manager.AddJob(new FileUploadJob()
                {
                    JobId = 1,
                    Ukprn = 100,
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId = 2,
                    Ukprn = 100,
                });

                await manager.AddJob(new FileUploadJob()
                {
                    JobId = 2,
                    Ukprn = 999900,
                });

                result = (await manager.GetAllJobs()).ToList();
            }

            result.Should().NotBeNull();
            result.Count.Should().Be(3);
        }