Beispiel #1
0
        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);
        }