public async Task Create_ShallReturnAJob() { var mockClient = new Mock <IJobsClient>(); var mockLogger = new Mock <ILogger <ClaraJobsApi> >(); JobId.TryParse(Guid.NewGuid().ToString("N"), out JobId jobId); PayloadId.TryParse(Guid.NewGuid().ToString("N"), out PayloadId payloadId); PipelineId.TryParse(Guid.NewGuid().ToString("N"), out PipelineId pipelineId); mockClient.Setup(p => p.CreateJob(It.IsAny <PipelineId>(), It.IsAny <string>(), It.IsAny <JobPriority>(), It.IsAny <Dictionary <string, string> >())) .ReturnsAsync(new JobInfo { Name = "bla bla job", JobId = jobId, PayloadId = payloadId, PipelineId = pipelineId }); var service = new ClaraJobsApi(mockClient.Object, mockLogger.Object); var metadata = new JobMetadataBuilder(); metadata.AddSourceName("TestSource"); var job = await service.Create(pipelineId.ToString(), "bla bla", JobPriority.Higher, metadata); Assert.Equal(jobId.ToString(), job.JobId); Assert.Equal(payloadId.ToString(), job.PayloadId); mockClient.Verify( p => p.CreateJob(It.IsAny <PipelineId>(), It.IsAny <string>(), JobPriority.Higher, metadata), Times.Exactly(1)); mockLogger.VerifyLogging(LogLevel.Information, Times.Once()); mockLogger.VerifyLogging(LogLevel.Error, Times.Never()); }
private async Task CreateJob(InferenceRequest request) { var metadata = new JobMetadataBuilder(); metadata.AddSourceName($"{request.TransactionId}"); var job = await _jobsApi.Create(request.Algorithm.PipelineId, request.JobName, request.ClaraJobPriority, metadata); request.JobId = job.JobId; request.PayloadId = job.PayloadId; }
private async Task CreateJob(InferenceJob job) { Guard.Against.Null(job, nameof(job)); var metadata = new JobMetadataBuilder(); metadata.AddSourceName(job.Source); using var scope = _serviceScopeFactory.CreateScope(); var jobsApi = scope.ServiceProvider.GetRequiredService <IJobs>(); var createdJob = await jobsApi.Create(job.PipelineId, job.JobName, job.Priority, metadata); job.JobId = createdJob.JobId; job.PayloadId = createdJob.PayloadId; _logger.Log(LogLevel.Information, $"New JobId={job.JobId}, PayloadId={job.PayloadId}."); }