public async Task <ActionResult <JobStatusResponse> > SubmitJob([FromBody] JobSubmitRequest request) { _eventTracker.TrackInfo("SubmitJob", "Submitting a new job", request); if (User.Identity.Name == null) { _eventTracker.TrackInfo("SubmitJob", "Unauthorized attempt to list all jobs"); return(Unauthorized()); } if (request.Attributes == null) { request.Attributes = new Dictionary <string, Dictionary <string, string> >(); } var jobSubmit = new JobSubmit { JobName = request.JobName, TopicQuery = request.TopicQuery, SelectedAcquirersIdentifiers = request.SelectedAcquirers, SelectedAnalysersIdentifiers = request.SelectedAnalysers, }; var jobStatus = await _jobManagementService.SubmitJob(jobSubmit, request.Attributes); var response = new JobStatusResponse { JobId = jobStatus.JobId, Status = jobStatus.Status, }; _eventTracker.TrackInfo("SubmitJob", "New job submitted", response); return(Ok(response)); }
public async Task InvokeCommand(JobSubmitRequest request) { var contentJson = JsonConvert.SerializeObject(request); var stringContent = new StringContent(contentJson, Encoding.UTF8, "application/json"); using (var r = await _httpClient.PostAsync(_jobInvokerOptions.JobSubmitUri, stringContent)) { if (!r.IsSuccessStatusCode) { var err = await r.Content.ReadAsStringAsync(); _logger.LogError("Error on jms side: {error}", err); } } }
public async Task <ActionResult <JobResponse> > SubmitJob() { var body = await new System.IO.StreamReader(this.Request.Body).ReadToEndAsync(); JobSubmitRequest jobSubmitRequest = JsonConvert.DeserializeObject <JobSubmitRequest>(body); if (jobSubmitRequest == null) { return(BadRequest("Invalid body")); } if (jobSubmitRequest?.SelectedDataAnalysers?.Any() == false) { return(BadRequest("No analysers were selected")); } if (jobSubmitRequest?.SelectedDataAcquirers?.Any() == false) { return(BadRequest("No analysers were selected")); } var jobId = Guid.NewGuid(); var jobConfigUpdateNotification = JobConfigUpdateCommand.NewJob( jobId, jobSubmitRequest.JobName, jobSubmitRequest.SelectedDataAnalysers, jobSubmitRequest.SelectedDataAcquirers, jobSubmitRequest.TopicQuery, jobSubmitRequest.Language, jobSubmitRequest.Attributes ); var configUpdateResult = await _subscribedComponentManager .StartJobAsync(jobConfigUpdateNotification); if (configUpdateResult.HasError) { return(BadRequest($"Job submit failed, error: {configUpdateResult.Error}")); } var jobSubmitResponse = new JobResponse( configUpdateResult.JobId, configUpdateResult.Status); return(Ok(jobSubmitResponse)); }