Thanks for the reply.
Me and Bimal work in same team and here is what I see happening.
When a print is clicked and render service is clicked there are on an average 6 to 7 chromium processes that can be seen when we check Task manager processes. In 50% of cases 1 of those chromium process is left in suspended state.
This process does not affect any existing pdf generation.
When an application pool on IIS is restarted on app_start we have code to restart the jsreport server.
var rs = new LocalReporting()
cfg.HttpPort = port;
cfg.AppPath = Path.Combine(basePath, "app");
cfg.TempDirectory = Path.Combine(basePath, "temp");
When there is a suspended chromium process, bove code fails to start jsreport.
That is when we have to kill all suspended processes and recycle app pool.(After killing suspended process this works).
Here is js config setting that we use
We tried to increaase number of workers and timeout but still get those suspended processes.
Js report Local is 2.2.2
Js report Binary is 2.6.1
This is because the default azure web app Linux container for the .net core is missing some required shared libraries required for chrome to run.
I'm not sure if there is some kind of way to extend this container. Maybe there is, but I don't see the documentation for it.
However, you should be able to deploy using your own docker image.
You should be able to find the required information in our documentation for docker and azure web apps here https://jsreport.net/learn/dotnet-local#docker
We aren't planning to release today. Probably Monday.
However, I am afraid Boris was a bit misleading. He fixed the error handling, not the actual error which will need more investigation.
Not sure at this moment, maybe it is a race condition on our side and maybe the process is just failing because of not enough resources.
In that case, you should limit the parallelization on your side.
In case the problem is persistent and you need to recover please use KillRunningJsReportProcesses and restart.
var rs = new LocalReporting()
Why don't you just prepare the data you need in the c#?
The custom jsreport script doesn't make so much sense when you send the whole request specification in the c#.
It is mostly used when you have a template stored inside jsreport store and want to do some calculation on the incoming data.
Means I need to call the report template generated from jsreport studio... right..?
Right now you use jsreport.Local and jsreport.Binary nugets. These embeds jsreport binary inside and start it from inside your application running inside iis. This can be problematic. I proposed you start jsreport outside iis as a normal process and connect to it from your app. It should be just one line change for you as I demonstrated.
Here is how you can start jsreport https://jsreport.net/on-prem
Disabled Categories are greyed out
This topic will be moved to the category
Looks like your connection to jsreport forum was lost, please wait while we try to reconnect.