public override async Task ProcessJobAsync(IResultSender resultSender) { using var scope = Logger.BeginScope("Drawing generation ({Id})"); Logger.LogInformation($"ProcessJob (Drawing) {Id} for project {ProjectId} started."); FdaStatsDTO stats = await ProjectWork.GenerateDrawingAsync(ProjectId, _hash); Logger.LogInformation($"ProcessJob (Drawing) {Id} for project {ProjectId} completed."); // TODO: this url can be generated right away... we can simply acknowledge that OSS file is ready, // without generating URL here var drawingUrl = _linkGenerator.GetPathByAction(controller: "Download", action: "Drawing", values: new { projectName = ProjectId, hash = _hash }); // send resulting URL to the client await resultSender.SendSuccessAsync(drawingUrl, stats); }