From 3a69c557fd7f840bb36037db56f26ed534e1ff77 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 23 Sep 2020 21:48:22 +0000 Subject: [PATCH] --- server/AyaNova/biz/ReportBiz.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/server/AyaNova/biz/ReportBiz.cs b/server/AyaNova/biz/ReportBiz.cs index 42f71a00..1a51b20d 100644 --- a/server/AyaNova/biz/ReportBiz.cs +++ b/server/AyaNova/biz/ReportBiz.cs @@ -424,6 +424,8 @@ namespace AyaNova.Biz using (var browser = await Puppeteer.LaunchAsync(lo)) using (var page = await browser.NewPageAsync()) { + //see catch block + var ChromiumProcessID = browser.Process.Id; try { @@ -658,9 +660,14 @@ namespace AyaNova.Biz //(it might also mean other things wrong with template) if (PageLog.Length > 0) { - log.LogInformation($"Error rendering report \"{report.Name}\": "); + log.LogInformation($"Exception caught while rendering report \"{report.Name}\", report Page console log:"); log.LogInformation(PageLog.ToString()); } + + + + + // var v=await page.GetContentAsync(); throw; } @@ -668,6 +675,14 @@ namespace AyaNova.Biz { log.LogDebug($"Closing browser"); await browser.CloseAsync(); + + //this probably isn't absolutely necessary but insurance + var process = System.Diagnostics.Process.GetProcessById(ChromiumProcessID); + if (ChromiumProcessID > 0 && process?.HasExited == false) + { + log.LogError($"Error during render, Chromium process (pid {ChromiumProcessID}) still active, forcing it to stop now"); + process.Kill(); + } } } }