public async Task ProcessBatch(Job batchjob) { _logger.LogInformation("batchjob {0} called", batchjob.JobId); batchjob.StartDate = DateTime.Now; batchjob.JobState = JobState.Started; if (await _jobManagementService.UpdateJob(batchjob) == 0) { return; } if (await _jobManagementService.EnterLog(batchjob.JobId, String.Format("batchjob {0} started", batchjob.JobId)) == 0) { return; } _logger.LogInformation("batchjob {0} updated", batchjob.JobId); // do work _logger.LogInformation("batchjob {0} phase1", batchjob.JobId); ConsumeCPU(20, 5); await _jobManagementService.EnterLog(batchjob.JobId, String.Format("batchjob {0} phase2", batchjob.JobId)); // do work _logger.LogInformation("batchjob {0} phase2", batchjob.JobId); ConsumeCPU(80, 5); await _jobManagementService.EnterLog(batchjob.JobId, String.Format("batchjob {0} phase 3", batchjob.JobId)); // do work _logger.LogInformation("batchjob {0} phase3", batchjob.JobId); ConsumeCPU(20, 5); await _jobManagementService.EnterLog(batchjob.JobId, String.Format("batchjob {0} phase 4", batchjob.JobId)); // do work _logger.LogInformation("batchjob {0} phase4", batchjob.JobId); Thread.Sleep(5000); _logger.LogInformation("batchjob {0} phase5", batchjob.JobId); ConsumeCPU(20, 5); _logger.LogInformation("batchjob {0} phase6", batchjob.JobId); ConsumeCPU(40, 5); _logger.LogInformation("batchjob {0} phase7", batchjob.JobId); ConsumeCPU(80, 5); _logger.LogInformation("batchjob {0} phase8", batchjob.JobId); ConsumeCPU(20, 5); _logger.LogInformation("batchjob {0} ended", batchjob.JobId); batchjob.StopDate = DateTime.Now; batchjob.JobState = JobState.Ended; await _jobManagementService.UpdateJob(batchjob); await _jobManagementService.EnterLog(batchjob.JobId, String.Format("batchjob {0} stopped", batchjob.JobId)); }
public async Task ProcessBulk(Job bulkjob) { _logger.LogInformation("bulkjob {0} called", bulkjob.JobId); bulkjob.StartDate = DateTime.Now; bulkjob.JobState = JobState.Started; if (await _jobManagementService.UpdateJob(bulkjob) == 0) return; if (await _jobManagementService.EnterLog(bulkjob.JobId, String.Format("bulkjob {0} started", bulkjob.JobId)) == 0) return; _logger.LogInformation("bulkjob {0} updated", bulkjob.JobId); // do work Thread.Sleep(5000); _logger.LogInformation("bulkjob {0} ended", bulkjob.JobId); bulkjob.StopDate = DateTime.Now; bulkjob.JobState = JobState.Ended; await _jobManagementService.UpdateJob(bulkjob); await _jobManagementService.EnterLog(bulkjob.JobId, String.Format("bulkjob {0} stopped", bulkjob.JobId)); }