public override async Task ProcessJobAsync(IResultSender resultSender)
        {
            using var scope = Logger.BeginScope("Export Drawing PDF ({Id})");
            Logger.LogInformation($"ProcessJob (ExportDrawingPDF) {Id} for project {ProjectId} started.");

            (FdaStatsDTO stats, int drawingIndex) = await ProjectWork.ExportDrawingPdfAsync(ProjectId, _hash, _drawingKey);

            Logger.LogInformation($"ProcessJob (ExportDrawingPDF) {Id} for project {ProjectId} completed.");

            string url = "";

            if (stats != null)
            {
                url = _linkGenerator.GetPathByAction(controller: "Download",
                                                     action: "DrawingPdf",
                                                     values: new { projectName = ProjectId, hash = _hash, index = drawingIndex });

                // when local url starts with slash, it does not work, because it is doubled in url
                if (url.StartsWith('/'))
                {
                    url = url.Substring(1);
                }
            }

            await resultSender.SendSuccessAsync(url, stats);
        }